我有一个问题,我有以下javascript函数:
<script type="text/javascript">
<!--
function BothFieldsIdenticalCaseSensitive() {
var two = document.bid_deal.passphrase_hidden.value;
var three = document.bid_deal.passphrase.value;
if(two == three) { return true; }
alert("Warning!! passcodes must match!!!");
return false;
}
//-->
</script>
我用它来比较两个文本字段,以确保两个文本字段匹配。它适用于一组文本文件,但如果我添加另一组文本字段并运行相同功能的另一个实例,则拒绝工作。
我有一个调用javascript函数调用checkEnableSubmit执行操作但我不知道为什么它不适用于多组文本字段。然而,我注意到页面中的两个调用javascript行为都调用了checkEnableSubmit的相同名称。如果我更改名称,则停止工作。
这是JAVASCRIPT CALL:
<input name="passphrase" type="text" id="passphrase" onfocus="clearDefault(this)" onblur="MM_callJS('checkEnableSubmit')" value="Nopass" />
我需要实现这个脚本来为我的文本字段添加验证,请大家帮忙!!!!
答案 0 :(得分:1)
您的 BothFieldsIdenticalCaseSensitive 功能只能用于字段* passphrase_hidden *和密码。
如果要检查另外两个字段,则必须为新字段创建另一个函数。例如,如果您创建了两个带有ids * passphrase_hidden1 *和 passphrase1 的字段,那么您可以使用此函数来验证其输入...
function BothFieldsIdenticalCaseSensitive2() {
var two = document.getElementById('passphrase_hidden1').value;
var three = document.getElementById('passphrase1').value;
if(two == three) { return true; }
alert("Warning!! passcodes must match!!!");
return false;
}
你可以尝试的另一个选项是创建一个单独的函数,并在该函数中传递你要检查的两个字段,如下所示:
function BothFieldsIdenticalCaseSensitive(fieldId1, fieldId2) {
var two = document.getElementById(fieldId1).value;
var three = document.getElementById(fieldId2).value;
if(two == three) { return true; }
alert("Warning!! passcodes must match!!!");
return false;
}
修改强>
您不应该使用此语法document.bid_deal.passphrase_hidden引用您的字段,并非所有浏览器都实现此字段。适用于所有浏览器的标准方法是调用document.getElementById('passphrase_hidden')。