0

我在 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动作的组合框标签上)。

请问有什么想法吗?

4

2 回答 2

1

我看到您正在使用 target 属性将表单提交给父框架。您是否将子 iframe 中的值提交到父窗口?如果是,此表单是否存在于父框架中?

或者,您可以简单地传递“this”并将其作为表单对象访问。

例如,

<form onsubmit="submitForm(this)">

function submitForm(formObj){
  var fieldTxt1Value = formObj.txt1.value;

}

于 2011-02-03T02:15:21.890 回答
0

尝试 return false; 在你的函数末尾放置一个 At 。

查看您的代码,您正在测试第一个参数是否为真。但它一直是一个字符串,因为你在调用中写了引号。这是你想要的吗?

于 2011-02-03T02:37:06.807 回答