如何使用Javascript根据内容查看和更改表单的提交值?

时间:2011-08-15 11:01:59

标签: javascript forms input indexof onsubmit

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

目前我有这个并期望我距离我实际需要的路还很远,似乎无法找到我想要的信息,让它们一起工作。

任何帮助表示感谢。

<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,并且我确定自己做错了。

1 个答案:

答案 0 :(得分:1)

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

此外,最好通过JavaScript而不是HTML来使用onsubmit等。您也可以为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
    }
  }
}