[英]Submit a form when page loads - struts 2
我想在页面加载时以as:form的形式提交。 这是我的代码:
<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>
但没有成功。
请帮助...谢谢..
您可以使用Jquery代码:
document.ready(function(){
$("#login_form").submit();
});
不要忘记指定表单的动作属性。
注意:要使用jquery,您需要添加jquery库。
如果要通过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>
在这里,您应该记住2个要点:
1)没有动作名称,它将无法正常工作,因为要转到struts.xml,您需要在代码中输入动作名称,但我没有看到动作名称。
2)其次,在代码中您编写了一些Java脚本代码,但是您既没有通过Submit按钮也没有通过body onload函数调用该函数名称。 我会假设出于发布目的,您对此进行了编码k,这不是问题。
以上代码向我展示的是一种方法。 另一种方法是没有提交按钮,您的代码应运行,您可以在jsp页面中键入如下内容
<META HTTP-EQUIV="Refresh" CONTENT="1;URL=youractionname.action">
您只需要在主体之前编写此代码,然后jsp页面就可以像您想要的那样工作。
在这里,我使用了两种代码,即动作名(youractionname)意味着在struts2页面中没有动作名就不会进入动作类
底线:动作名称在struts2中很重要
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>
<s:form id="login_form" action="" method="post">
如您所见,将提交表单的操作丢失了。 上面的javascript如何知道向此表单提交哪个操作。 尝试填写动作名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.