以下是在baidu找到JS码,input表单想每次按"提交"按钮后出现"time:"事件,给访客搜索时间之用。
但是,每一次按"提交"按钮后,都会出现多个"time:"文字。请看图
想不论按了多少次"提交"按钮,而"time:"文字只出现一次,请问如何修改?
<form method="get" action="http://www.google.com/search" target="_blnak" onSubmit="javascript:this.q.value='Time:'+this.q.value">
<input type="hidden" name="ie" value="utf-8" />
<input type="hidden" name="oe" value="utf-8" />
<input type="hidden" name="hl" value="zh-CN" />
<input type="text" name="q" maxlength="255" value="" />
<br />
请填入国家or城市名称
<br />
<br />
<input type="submit" name="btnG" value="提交" />
</form>
你每次点击都在内容开头添加一个'Time:',多次点击当然多次添加了。
应该是判断内容开头没有Time:时才添加'Time:'。
内容开头已经有Time:时就不要再添加'Time:'了。
if(this.q.value.indexOf('Time:')!=0)
this.q.value='Time:'+this.q.value
你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)
<form method="get" action="http://www.google.com/search" target="_blnak" onSubmit="javascript:if(this.q.value.indexOf('Time:')!=0) this.q.value='Time:'+this.q.value">
<input type="hidden" name="ie" value="utf-8" />
<input type="hidden" name="oe" value="utf-8" />
<input type="hidden" name="hl" value="zh-CN" />
<input type="text" name="q" maxlength="255" value="" />
<br />
请填入国家or城市名称
<br />
<br />
<input type="submit" name="btnG" value="提交" />
</form>
这是因为你的旧值还在那里,你再次点击前面又会加一个'Time:'导致的。把form 标签改成下面的试试:
<form method="get" action="http://www.google.com/search" target="_blnak" onSubmit="javascript:this.q.value=this.q.value.startsWith('Time:')?this.q.value:'Time:'+this.q.value;">
不清楚您写这个代码用在哪儿,要解决什么需求,但是如果是用在实际的生产环境中,这个也太‘简陋’了一些吧?
"javascript:this.q.value=this.q.value.indexOf() == -1 ? 'Time:'+this.q.value : this.q.value "