Javascript 如何从s提交数据:struts 2中选择ajax
我有一个选择标签<代码>s:在表单内选择。我想向该行动发送一个post请求。我有Struts2JSON插件。我不懂javascript或jqueryJavascript 如何从s提交数据:struts 2中选择ajax,javascript,jquery,json,struts2,Javascript,Jquery,Json,Struts2,我有一个选择标签s:在表单内选择。我想向该行动发送一个post请求。我有Struts2JSON插件。我不懂javascript或jquery <s:form action="selectFileType" method="post" id="selectFileTypeForm"> <div> <s:select id="select" head
<s:form action="selectFileType" method="post"
id="selectFileTypeForm">
<div>
<s:select id="select" headerKey=""
headerValue="%{getText('uploadAttachmentType.please.select')}"
name="uploadAttachmentType" list="attachmentTypeList"
required="true"
onchange="this.form.submit();"></s:select>
<s:hidden id="declarationObj_ideclare"
name="declarationObj.ideclare" />
<s:hidden id="declarationObj_completingpersonname"
name="declarationObj.completingpersonname" />
<s:hidden id="declarationObj_completingpersonofficaltitle"
name="declarationObj.completingpersonofficaltitle" />
<s:hidden id="declarationObj_completingpersonphone"
name="declarationObj.completingpersonphone" />
<s:hidden id="declarationObj_completingpersonext"
name="declarationObj.completingpersonext" />
</div>
</s:form>
`Struts 2没有很好的工具来执行ajax,但您只能使用jQuery发送post请求 首先,您需要在呈现页面的源代码中找到一个目标元素,并创建选择器。它应该类似于
select[name='searchEngine']选项:selected
然后,您可以编写脚本,将所选元素的值发送到目标\u url
。例如:
// get element value
var selectedItem = $("select[name='searchEngine'] option:selected").val();
// send post request
$.post("destination_url", {item: selectedItem}, function() {
alert("ok");
});
请参阅示例并阅读《入门指南》
就是这样。你能提供你试过写的代码吗?这就是(上面添加的)。struts 2似乎在每次表单提交时都会创建一个新的action类?如何实现struts 1中存在的类似状态的行为?我不同意这一点。Struts2有很好的ajax工具。看看这个插件,我不同意JS周围的任何标签包装都是一个好主意(这根本不是struts2的错误)。这也是dojo标记的问题所在。如果这是个好主意,我们也应该用XML编写Java。此处未回答的jquery标记问题的数量表明它掩盖了细节,而只有jquery的问题才能快速得到解决。