Javascript将数据提交两次

时间:2012-10-29 13:00:01

标签: javascript forms double-submit-problem

假设我有一个简单的表格:

​<form id="new_stuff">
    <label>Title </label>
        <input id="title" maxlength="255" name="new[title]" size="50" type="text"><br /><br />
    <label>Message </label>
        <input id="message"  name="new[message]" size="50" type="text" value="general"><br />
    <label>Upload </label>
        <input id="upload_data" name="new[upload]" size="30" type="file"><br />
    <input id="submitform" action="form.php" type="button" value="submit me" formmethod="post"/>
​</form>

当用户填写数据并点击提交时,我需要一种方法来获取数据,更改标题(假设在用户输入的内容中添加单词“TESTING”),然后提交表单两次;一次使用原始数据,另一次使用更改的数据。

任何人都可以帮我解决在JS中执行此操作的方法。感谢

1 个答案:

答案 0 :(得分:0)

一点点jQuery让这很容易。

$( "#new_stuff" ).submit( function () {
  var self = this;
  // Save the form data as-is, before making any changes
  var originalFormData = $( self ).serialize();

  // Make changes to the values that you want to change.
  $( "#title" ).val( $( "#title" ).val() + ' TESTING' );

  // Serialize the form a second time
  var modifiedFormData = $( self ).serialize();

  // Post the form to your location.
  $.post('url', originalFormData);
  $.post('url', modifiedFormData);

  // Return false, otherwise the form action will post (a third time).
  return false;
});