[编辑]经过大量的挖掘,我发现问题出在我如何将CKEditor集成到我的页面中。在这种情况下, 的简单而明显的方式就像在接受的答案中所阐述的那样。
您好,
我需要在按下提交按钮后但在实际提交之前更改表单的值。
我已尝试连接到表单的“submit”事件,并手动更改文本字段值,但看起来实际上并未更改提交的值。
有什么想法吗?
答案 0 :(得分:18)
我很好奇你的陈述submit
处理程序不适合你。它对我有用。我已经用它多年来填写隐藏的字段,然后再发送表格;也适用于其他表格领域。
示例(live copy):
HTML:
<form id='theForm'
action='http://www.google.com/search'
method='GET' target='_new'>
<label>Search for:
<input type='text' name='q' id='txtSearch'></label>
<input type='submit' id='btnSearch' value='Search'>
JavaScript的:
window.onload = function() {
document.getElementById('theForm').onsubmit = function() {
var txt = document.getElementById('txtSearch');
txt.value = "updated " + txt.value;
};
};
在Windows上测试并使用IE6和IE7,在Linux上测试Chrome,Firefox和Opera。
更新:根据您的评论,您正在使用jQuery。使用jQuery也可以正常工作:
$('#theForm').submit(function() {
var txt = $('#txtSearch');
txt.val("updated " + txt.val());
});
Live example测试并使用同一组浏览器。 This version使用更开放的搜索而不是id
,并且仍然有效。
答案 1 :(得分:12)
您需要阻止默认的提交操作,然后手动重新提交表单:
$('form').submit(function(e) {
e.preventDefault();
// do your processing
this.submit(); // call the submit function on the element rather than
// the jQuery selection to avoid an infinite loop
});
答案 2 :(得分:1)
您是否尝试在提交按钮上点击JavaScript事件添加功能并更改值? 它可能有效,因为客户端脚本将首先执行