简体   繁体   English

如何保存HTML表单并通过Ajax发送到php

[英]How to save html form and send via ajax to php

how can i save a form with different values in an array every time when i click the button save. 每次单击保存按钮时,如何将具有不同值的表单保存在数组中。 After that when i'm finished with the orders I click the button send a the whole array with the stored information is sending via ajax to php. 之后,当我完成订单时,我单击按钮,将带有存储信息的整个数组通过ajax发送到php。

it should look like this var order = [fname: .... , lname: ..., 1.order:{product:p1, color:c3}, 2.order:{product:p3, color:c2}, 3.order... and so one] is this even possible to do it this way or is there a better solution for that ? 它应该看起来像这样var order = [fname: .... , lname: ..., 1.order:{product:p1, color:c3}, 2.order:{product:p3, color:c2}, 3.order... and so one]这样是否有可能这样做,或者有更好的解决方案吗? I don't have the possibility to connect to mysql 我没有连接到MySQL的可能性

here is my example in jsfiddle: https://jsfiddle.net/4acj5wab/ my problem is evertime i'm pushing the new value it overrides me the old one. 这是我在jsfiddle中的示例: https ://jsfiddle.net/4acj5wab/我的问题是我每次推送新值时都会覆盖旧值。

<form action="">
  fname:<input type="text" name="fname" id="fname"><br>
  lname:<input type="text" name="lname" id="lname"><br><br>
  <select name="selectProduct"><br>
    <option value="p1">product1</option>
    <option value="p2">product2</option>
    <option value="p3">product3</option>
  </select><br>
  <select name="selectColor"><br>
    <option value="c1">color1</option>
    <option value="c2">color2</option>
    <option value="c3">color3</option>
  </select><br><br>
  <button type="button" id="saveAndOrder" name="saveAndOrder" >Save</button>
  <button type="button" id="sendOrder" name="sendOrder" >Send</button>
</form>
<div id="result"></div>

javascript: JavaScript的:

var order = []
$('#saveAndOrder').on('click', function(){
    var myData = $('form').serializeArray();
  order.push(myData);
});

$('#sendOrder').on('click', function(){
    $.ajax({
    url: 'myphp.php',
    method: 'POST',
    data: order,
    success: function(data) {
    $('#result').html('Thank you...');
    }
  });
});

try something like thing keep it as seperate forms and serialize and send them i didnt check on code please verify 尝试类似的东西将其保留为单独的形式并序列化并发送给我,我没有检查代码,请验证

html HTML

<form action="" id="form1">
  fname:<input type="text" name="fname" id="fname"><br>
  lname:<input type="text" name="lname" id="lname"><br><br>
  </form>
<form action="" id="form2">  
  <select name="selectProduct"><br>
    <option value="p1">product1</option>
    <option value="p2">product2</option>
    <option value="p3">product3</option>
  </select><br>
  <select name="selectColor"><br>
    <option value="c1">color1</option>
    <option value="c2">color2</option>
    <option value="c3">color3</option>
  </select><br><br>
  <button type="button" id="saveAndOrder" name="saveAndOrder" >Save</button>
  <button type="button" id="sendOrder" name="sendOrder" >Send</button>
  </form>
<div id="result"></div>

javascript JavaScript的

var order = []
$('#saveAndOrder').on('click', function(){
alert("save");
    var myData = $('form2').serializeArray();
  order.push(myData);
});

$('#sendOrder').on('click', function(){
var myData = $('form1').serializeArray();
var data = []
data.push(myData);
data.push(order);
alert(data);
    $.ajax({
    url: 'myphp.php',
    method: 'POST',
    data: data,
    success: function(data) {
    $('#result').html('Thank you...');
    }
  });
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM