所以,我在JSP上有这个表单:
<form name="<%=formName%>" method="post" action="<%=actionURL%>" target="_parent" onsubmit="submitForm('<%=String.valueOf(isAbstract)%>','<%=formName%>'); return false">
然后我在包含文件中有以下javascript:
function submitForm( isAbstract , formName ) {
var o = "document.forms['" + formName + "']";
var form = eval(o);
if (isAbstract)
{
alert("Error");
return;
}
if (!form.AutoName.checked)
{
if (form.name.value == "")
{
alert("Some text");
return;
}
}
}
好吧,我减少了函数以使其更简单,但问题是无论我做什么,我都会为这两个参数获取未定义的值。这让我很生气,因为我在其他标签上有类似的代码可以正常工作(除了它在带有onChange动作的组合框标签上)。
有什么想法吗?
提前感谢您的帮助。
答案 0 :(得分:1)
我看到您使用target属性将表单提交到父框架。您是否将子iframe中的值提交到父窗口?如果是,这个表单是否存在于父框架中?
Alterantively,您可以简单地传递“this”并将其作为表单对象进行访问。
例如,
<form onsubmit="submitForm(this)">
function submitForm(formObj){
var fieldTxt1Value = formObj.txt1.value;
}
答案 1 :(得分:0)
尝试放置一个
return false;
在你的功能结束时。
查看代码,您将测试第一个参数是否为true。但它始终是一个字符串,因为你在电话中写了引号。这是你想要的吗?