jQuery在提交之前删除特定的输入值

时间:2013-05-07 13:46:55

标签: jquery forms input form-submit default-value

这就是我所拥有的:

<form method="get" action="" name="advsearch">
  <input type="hidden" name="query" value="">
  <div class="formelement-01">
    <select name="product" size="1" onclick="bq()">
      <option value="" selected="selected">Select Brand</option>
      <option value="brand 1">brand 1</option>
      <option value="brand 2">brand 2</option>
    </select>
  </div>
  <div class="formelement-02">
    <select name="cut" size="1" onchange="bq()">
      <option value="" selected="selected">Select Product Type</option>
      <option value="product 1">product 1</option>
      <option value="product 2">product 2</option>
      <option value="product 3">product 3</option>
    </select>
  </div>
  <div class="formelement-03">
    <input onfocus="if (this.value == 'Enter keywords') this.value = '';" value="Enter keywords" type="text" name="keyword" id="key" onChange="bq()">
  </div>
  <div class="formelement-04">
    <input type="image" src="images/submit.gif" value="Submit" name="Submit" id="sbmit">
  </div>
</form>
<script type="text/javascript">
  function bq() {
   document.advsearch.query.value = document.advsearch.cut.value + " "  + document.advsearch.product.value + " "  + document.advsearch.keyword.value;}
</script>

表单工作正常,但如果我不用其他东西替换“输入关键字”值,它会与我选择的选项一起提交。

如何从提交中阻止此特定值“输入关键字”?请注意,表单应该能够提交任何其他值,而不是这一个。

我希望有人可以帮助解决这个问题。

提前谢谢你。 埃琳娜

3 个答案:

答案 0 :(得分:2)

我猜你需要Html占位符,而不是做旧的文本验证。

<input type="text" name="mytextbox" placeholder="Enter keywords">

请参阅此处查看examples and demo

答案 1 :(得分:1)

尝试占位符,如

<input value="" placeholder="Enter Keywords" type="text" name="keyword" id="key" onChange="bq()">

答案 2 :(得分:1)

您可以使用输入类型的placeholder属性,但请记住此占位符属性不适用于IE。

使用以下代码:

<form method="get" action="" name="advsearch" onSubmit="fun()">

在表单上添加一个函数。然后使用以下脚本。

<script type="text/javascript">
  function fun() {
    var ele = document.getElementById("key");
    if(ele.value == "Enter keywords") {
       ele.value = "";
    } 
    return true;
  }
</script>