我希望在提交表单时根据内容更改输入字段的值。
目前我有这个并期望我距离我实际需要的路还很远,似乎无法找到我想要的信息,让它们一起工作。
任何帮助表示感谢。
<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,并且我确定自己做错了。
答案 0 :(得分:1)
你的方法很好,但你让它变得有点复杂。
此外,最好通过JavaScript而不是HTML来使用onsubmit
等。您也可以为onfocus
执行此操作。
<强> 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
0
。 toUpperCase()
生成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
}
}
}