0

我想在提交表单时根据其内容更改输入字段的值。

目前我有这个,并期望我离我真正需要的东西还有很长的路要走,似乎找不到我想要的信息来让它们一起工作。

任何帮助表示赞赏。

<script type="text/javascript">
function vet()
{
    if(this.abc.value.indexOf("CW-") >= 0)
    {
    return true;
    }
    else
    {
    this.abc.value = 'CW-' + this.abc.value; return true;
    }
}
</script>

<form name="simple1" method="get" onsubmit="vet()" action="simple.php">
<input class="saip1" name="abc" type="text" value="Input Value" onfocus="this.value='';"/>

基本上我想检查用户是否在其值的开头包含了“CW-”(或者实际上是该 cw-cW-Cw- 的任何情况变体)。如果他们只是按原样返回值。如果没有,我想添加 CW-。

经过一番阅读,我尝试了 indexOf 方法,但我并不真正了解 javascript,并且确信我做错了什么。

4

1 回答 1

1

你的方法很好,但你让它有点复杂。

onsubmit此外,通过 JavaScript 而不是通过 HTML使用 etc 是一种很好的做法。您也可以为onfocus.

http://jsfiddle.net/PTspF/

HTML:

<form id="simple1" method="get" action="simple.php">

    <input class="saip1" name="abc" type="text" value="Input Value" onfocus="this.value='';"/>

</form>

JavaScript:

您可以检查是否希望“CW-”出现在字符串的开头indexOf。使得变化也被发现是正确的0toUpperCase()cw- CW-

window.onload=function() {
  document.getElementById("simple1").onsubmit=function() {
    if (this.abc.value.toUpperCase().indexOf("CW-") !== 0) {
      this.abc.value = 'CW-' + this.abc.value; // prepend if not present
    }
  }
}
于 2011-08-15T11:06:43.547 回答