如何将表单名称传递给javascript并使用它读取表单值
我想知道如何动态传递表单名称并使用它检索表单值。我使用了下面的代码如何将表单名称传递给javascript并使用它读取表单值,javascript,jsp,Javascript,Jsp,我想知道如何动态传递表单名称并使用它检索表单值。我使用了下面的代码 function validatecbr(form,outagetkt) { var formName = form.name; alert(formName); var cbr1 = formName.cbr11.value; var cbr2 = formName.cbr22.value; var cbr3 = formName.cbr33.value; var cbrnu
function validatecbr(form,outagetkt)
{
var formName = form.name;
alert(formName);
var cbr1 = formName.cbr11.value;
var cbr2 = formName.cbr22.value;
var cbr3 = formName.cbr33.value;
var cbrnum = cbr1+cbr2+cbr3;
if(cbr1.length !=3){
alert("Please Enter 10 digit Account telephone number");
formName.cbr11.focus();
return false;
}
else if(cbr2.length !=3){
alert("Please Enter 10 digit Account telephone number");
formName.cbr22.focus();
return false;
}
else if(cbr3.length !=4){
alert("Please Enter 10 digit Account telephone number");
formName.cbr33.focus();
return false;
}
else
{
alert("cbrnum "+cbrnum);
formName.method="POST";
formName.action="/support/residential/outage/serviceOutage?cbrnum="+cbrnum+"&btn="+btn+"&outagetkt="+outagetkt;
formName.submit();
}
}
以下是正文内容
<body>
<%int nc=0; %>
<div id="KMU_alerts">
Contact me with alternative notification phone number1.
<%nc++; %>
<form name="kmuform<%=nc%>" id="kmuform<%=nc%>" action="javascript:validatecbr(document.kmuform<%=nc%>,'outage');">
<input type="text" name="cbr1" id="cbr11"
onpaste="return false;" style="width: 35px;" maxlength="3"
size="2" />
<input type="text" name="cbr2" id="cbr22"
onpaste="return false;" style="width: 35px;" maxlength="3"
size="2" />
<input type="text" name="cbr3" id="cbr33"
onpaste="return false;" style="width: 35px;" maxlength="4"
size="2" />
<input id="clickMe" type="button" value="Submit" onclick="javascript:validatecbr(document.kmuform<%=nc%>,'outage');"/>
</form>
</div>
<div id="KMU_alerts">
Contact me with alternative notification phone number2.
<%nc++; %>
<form name="kmuform<%=nc%>">
<input type="text" name="cbr1" id="cbr11"
onpaste="return false;" style="width: 35px;" maxlength="3"
size="2" />
<input type="text" name="cbr2" id="cbr22"
onpaste="return false;" style="width: 35px;" maxlength="3"
size="2" />
<input type="text" name="cbr3" id="cbr33"
onpaste="return false;" style="width: 35px;" maxlength="4"
size="2" />
<input id="clickMe" type="button" value="Submit" onclick="javascript:validatecbr(this.form,'outage');"/>
</form>
</div>
</body>
请使用备用通知电话1与我联系。
请使用备用通知电话号码2与我联系。
但是代码在“formName.cbr11.value”这一行显示“'cbr11.value'为null或不是对象”
有人能告诉我如何将表单名传递给js函数并使用它读取表单值吗
var formName=form.name
这里的formName是一个字符串,而不是HTMLFormElement对象
使用表单对象访问表单字段的值
var cbr1 = form.cbr11.value;
作为减少代码的一部分,您可以参考下面的@phanimadhavisantala
function validatecbr(form,outagetkt)
{
var cbr1 = form.cbr11.value;
var cbr2 = form.cbr22.value;
var cbr3 = form.cbr33.value;
var cbrnum = cbr1+cbr2+cbr3;
if(cbr1.length !=3){
dispalyErrorAndFocus(form.cbr11);
}
else if(cbr2.length !=3){
dispalyErrorAndFocus(form.cbr22);
}
else if(cbr3.length !=4){
dispalyErrorAndFocus(form.cbr33);
}
else
{
alert("cbrnum "+cbrnum);
formName.method="POST";
formName.action="/support/residential/outage/serviceOutage?cbrnum="+cbrnum+"&btn="+btn+"&outagetkt="+outagetkt;
formName.submit();
}
}
function dispalyErrorAndFocus(CompRef) {
alert("Please Enter 10 digit Account telephone number");
CompRef.focus();
return false;
}
即使您可以,也可以将错误消息设置为某个变量,并将其设置为泛型
谢谢