页面加载时提交表单 - struts 2

时间:2012-01-18 14:21:46

标签: javascript forms struts2 form-submit

我想在页面加载时提交s:表单。 这是我的代码:

<s:form id="login_form" action="" method="post">
<s:textfield label="User name" id="login_form_username"
            name="username" value="abc.xyz" cssClass="txtbox"
            required="true" />
        <s:password label="Password" id="login_form_password" name="password"
            value="pass" cssClass="txtbox" required="true" />
        <s:submit value="Login" />
    </s:form>

实际上如上面的代码所示,我将动态设置uname和pwd,然后想直接使用javascript提交此表单。

我试过了:

<script type="text/javascript"> 
      document.forms.login_form.submit();
</script>

但没有成功。

请帮忙...... 感谢..

4 个答案:

答案 0 :(得分:1)

您可以使用Jquery代码:

document.ready(function(){
  $("#login_form").submit();
});

别忘了指定表单的动作属性。

注意:要使用jquery,您需要添加jquery库。

答案 1 :(得分:0)

document.forms.login_form.submit()投掷未定义的错误。而不是你可以使用的 的 document.forms [0] .submit()

您可以使用onload属性进行页面加载工作

<script type="text/javascript"> 
    function submit(){
      document.forms[0].submit();
    }
</script>

  <body onload="submit()">
  <s:form id="login_form" action="" method="post">
       <s:textfield label="User name" id="login_form_username"
            name="username" value="abc.xyz" cssClass="txtbox"
            required="true" />
        <s:password label="Password" id="login_form_password" name="password"
            value="pass" cssClass="txtbox" required="true" />
        <s:submit value="Login" />
    </s:form>

 </body>

答案 2 :(得分:0)

<s:form id="login_form" action="" method="post">

如您所见,缺少表单提交的操作。以上javascript将如何知道将此表单提交给哪个操作。 尝试填写操作名称。

答案 3 :(得分:0)

如果你想通过java脚本提交意味着你必须提供这样的代码,例如:

如果你的名字在java脚本中是 * login_form * 那么你可以这样给出

function submitform()
{
    document.forms["login_form"].submit();
}


<s:form id="login_form" name="login_form" action="your action name" method="post">
<s:textfield label="User name" id="login_form_username"
            name="username" value="abc.xyz" cssClass="txtbox"
            required="true" />
        <s:password label="Password" id="login_form_password" name="password"
            value="pass" cssClass="txtbox" required="true" />
        <s:submit value="Login" onClick="submitform()"/>
</s:form>

在这里你应该记住两个要点:

  

1)没有动作名称它将无法工作,因为,为了去   struts.xml你需要在你的代码中使用动作名称我没有看到动作名称。

     

2)其次,在你的代码中你编写了一些java脚本代码但是,你没有   通过提交按钮或通过调用该函数名称   身体上传功能。我会假设你喜欢张贴目的   这个编码k不是问题。

我在上面展示的代码是一种方式。另一种方法是没有提交按钮,你的代码应该运行,你可以在jsp页面中这样输入

<META HTTP-EQUIV="Refresh" CONTENT="1;URL=youractionname.action">

你必须在body之前编写这段代码然后你的jsp页面就像你想要的那样。

这里我用的代码 动作名称(youractionname) 表示struts2页面中没有动作名称将不会转到动作类

  

底线:动作名称在struts2中非常重要