Javascript 页面加载时提交表单-struts 2
我想在页面加载时提交一个s:表单。 这是我的密码:Javascript 页面加载时提交表单-struts 2,javascript,forms,struts2,form-submit,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:
<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>
document.forms.login_form.submit();
但是没有成功
请帮忙。。。
谢谢..
<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>
函数提交(){
document.forms[0]。提交();
}
正如您所看到的,表单将提交到的操作缺失。上面的javascript如何知道提交此表单的操作。
尝试填写操作名称。如果您想通过java脚本提交,则意味着您必须给出如下代码: 如果在java脚本中您的from名称是*login\u 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>
函数submitform()
{
document.forms[“login_form”].submit();
}
在这里,您应该记住两个要点:
1) 如果没有动作名称,它将不起作用,因为
struts.xml在代码中需要操作名,但我没有看到操作名
2) 其次,您在代码中编写了一些java脚本代码,但您没有
通过submit按钮或通过
车身加载功能。我会假设你是出于发帖的目的
这不是问题所在
上面代码显示的是一种方式。另一种方法是不使用submit按钮,您的代码应该运行,也就是说,您可以在jsp页面中这样键入
<META HTTP-EQUIV="Refresh" CONTENT="1;URL=youractionname.action">
您必须在正文之前编写此代码,只有这样jsp页面才能像您所希望的那样工作
这里我使用了两个代码action name(youractionname)意味着在struts2页面中没有action name将无法进入action类
底线:动作名称在struts2中很重要
您可以使用Jquery代码:
document.ready(function(){
$("#login_form").submit();
});
别忘了指定表单的action属性
注意:要使用jquery,您需要添加jquery库。发生了什么?JavaScript控制台中有什么东西吗?表单名称/id呈现为什么?如果您已经知道了这些值,那么这样做是必要的吗?您检查过javascript错误控制台了吗?如果没有错误,可能是您没有将javascript代码片段放在页面上的正确位置。请在
末尾的某个地方尝试,或者甚至在
中尝试。我不知道这些值,但正如我所指定的,稍后我将在加载页面之前从请求页面在jsp页面本身中设置这些uname和pwd值。我只是想绕过登录过程,因为我将以另一种方式传递uname和pwd。@rodion+1用于将脚本置于
末尾,之前失败了,因为加载页面时未设置uname和pwd字段的值,所以每次这些字段都是null
。我在脚本中设置了它们的值,现在它正在工作。。。再次感谢所有。。。
document.ready(function(){
$("#login_form").submit();
});