0

这是代码的相关部分:

<form id="frmDemo" name="frmDemo" action="temp.jsp" method="post" > 
   <div>
        <hr/><a name="d2"></a>
        <h2>CMS Sign In Page</h2>
        <p>Passing parameters to the Web Service:</p> 
        <label>Your username: </label><input type="text" name="username" id="username" value="elthefar" />

    <label>Your password: </label><input type="password" name="password" id="password" value="workandwork" />
    <input type="button" value="Sign In" onclick="var r = SignIn(); if (r == 0) document.forms[0].action = 'temp2.jsp'; return true;" />

我希望我的表单转发到temp2.jspif SignIn return 0,否则转发到temp.jsp. 但上面的代码不会转发到任何页面。

4

3 回答 3

0

你的意思是使用input type="submit"?还是打电话document.forms[0].submit();

于 2012-12-23T07:07:59.190 回答
0

您可以onsubmit像这样向您的表单添加事件:

<form id="frmDemo" name="frmDemo" action="temp.jsp" method="post" onsubmit="return myfunction();">

然后在您的表单中使用一个简单的提交按钮。

<input type='submit' value='Sign In' />

在这种情况下,当您单击提交按钮时,该函数将触发,并且在该函数中您可以执行任何您想做的事情,如下所示:

<script language='javascript'>
function myfunction(){
var r = SignIn();
if(r == 0)
  document.forms[0].action = 'temp2.jsp';
return true;
}
</script>
于 2012-12-23T07:15:13.080 回答
0

将您的表格更改为此

<form id="frmDemo" name="frmDemo" method="post">

并更改 buttonsubmit

<input type="submit" name="Submit" onClick="Validate()" value="Submit" />

并使用你的javaScript

<script language='javascript'>
        function Validate(){
            var r = SignIn();  // assuming, you have some implementation for SignIn() method
            var frm = document.getElementById("frmDemo") || null;
            if(frm) {
                if(r != 0)
                {
                    frm.action = 'temp.jsp';
                }else{
                    frm.action = 'temp2.jsp';
                }
            }
        }

    </script>
于 2012-12-23T07:23:24.553 回答