小编典典

按下提交按钮后更改表单值

html

[编辑]经过大量挖掘,我发现问题出在我如何将CKEditor集成到页面中。如公认的答案所述,在这种情况下,简单而明显的方法 确实 有效。

你好

在按下“提交”按钮之后,但在实际提交之前,我需要更改表单的值。

我尝试挂钩到表单的“ submit”事件,并在那里手动更改文本字段的值,但是看起来实际上并没有更改提交的值。

有任何想法吗?


阅读 336

收藏
2020-05-10

共1个答案

小编典典

我对您的说法感到奇怪,即submit处理程序对您不起作用。它为我做。在发送表格之前,我已经使用它多年来填写隐藏字段;应该也适用于其他表单字段。

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());
});

实时示例经过测试,并且可以在同一组浏览器上工作。此版本使用更开放的搜索而不是id,并且仍然有效。

2020-05-10