这是我的代码:
<s:form
id="deployChapters%{#chapterTree.nodeId}"
action="%{deployChapterUrl}"
theme="simple"
method="POST">
<s:hidden name="nodeId" value"%{#chapterTree.nodeId}" />
</s:form>
我使用Ajax提交此表单。使用Firefox时,不会发送隐藏字段nodeId
。它适用于Chrome或IE。
如何让FF发送隐藏字段?
答案 0 :(得分:1)
向表单添加一个提交按钮,更改id属性,以便使用jQuery轻松选择它并附加处理程序
<s:form
id="deployChaptersForm"
action="%{deployChapterUrl}"
theme="simple"
method="POST">
<s:hidden name="nodeId" value"%{#chapterTree.nodeId}" />
<s:submit/>
</s:form>
<script type="text/javascript">
// Attach a submit handler to the form
$("#deployChaptersForm").submit(function(event) {
//Stop form from submitting normally
event.preventDefault();
//Get some values from elements on the page:
var $form = $(this),
value = $form.find("input[name='nodeId']").val(),
url = $form.attr("action");
//Send the data using post
var thePost = $.post(url, {nodeId: value});
//Handle results in data
thePost.done(function(data) {
alert(data);
});
});
</script>
答案 1 :(得分:1)
最后,这是我提出的解决方案:
答案 2 :(得分:0)
Struts / JSP代码(即服务器端代码)不依赖于客户端浏览器来呈现HTML。
所以,这是你的Javascript函数,它发送Ajax请求(post或get),其中包含基于html表单数据的数据,这有问题。
请检查/调试您的Javascript代码以修复它。