javascript - 将 HTML 数组值存储到 javascript 数组中以通过 AJAX 发送

标签 javascript php jquery arrays ajax

我有一个表格,我可以在其中克隆表格行。每个表单元素都被命名为一个数组,名称后带有 []。如果我将表单直接发送到 PHP 脚本,这没什么大不了的。我不想刷新,所以我需要将值存储在 javascript 数组中,然后将该数组发送到我的 php 脚本等。我很难创建一个新的 javascript 变量,它是所有值的数组。

一个是完整的我确信在 PHP 中请求它是非常简单的。

这是我的 HTML 表单的示例。

<form  class="form8" name="formfine">
  <table  class="tablesorter2" cellspacing="0" id="adddate"> 
    <tbody> 
      <tr> 
        <td>Expense:</td>
        <td>
          <select id="fineexpense" name='fineexpense[]'>
            <option value='Mortage/Rent'>Mortage/Rent</option>
            <option value='Auto'>Auto</option>
          </select>
        </td>
      </tr>
    </tbody>
  </table>
</form>

这是我当前的 AJAX 函数

function ajax_finesave(){

var hr = new XMLHttpRequest();
var url = "PHP/FFfinesave.php";
var fineexpense = document.formfine.elements['fineexpense[]'];

在这方面的任何帮助都会很棒,请求 ajax 发送变量的正确方法也会有所帮助。谢谢

最佳答案

有一种使用 JQuery 的简单方法,即序列化表单。函数是here .

用法是...

$('.form').serialize();

... 结果值是一个查询字符串,可以将其作为单个变量发送到服务器并根据 php 的要求进行剖析,使用类似 parse_str() 的函数

关于 JavaScript 的另一件事是它的数组不能像键控哈希那样使用,正如您在 PHP 中看到的那样。您需要使用一个对象作为键。因此,您将无法在 JavaScript 中创建模仿 php $_POST 数组的数组。

您可以从您的表单构建一个 JSON 对象并使用 AJAX(JQuery 的 version here)发布它,然后使用 php 的 json_decode()打开它的服务器端。请注意此处的 $assoc 参数,因为您需要用它来获取 php 中的数组。

JQuery 示例如下:

var myJSON = {
  formField: $('.form-field').val(),
  anotherFormField: $('.another-form-field').val()
}

$.ajax({
  url: 'my-url',
  method: 'post',
  data: {
    formJSON: myJSON
  },
  success: function() {
    // success update here
  }
});

在示例中,myJSON 是一个带有命名键的 JavaScript 对象,这些键由表单字段值填充(尽管任何内容都可以)。这就是您在 JavaScript 中模仿 php 关联数组的方式。

关于javascript - 将 HTML 数组值存储到 javascript 数组中以通过 AJAX 发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31623857/

相关文章:

php - AJAX 加载后没有发生 jQuery 事件?

php - preg_match 一个字符串以从字符串中获取某些数字

javascript - 如何制作带有可点击区域的州 map

php - Ajax 。根据Element ID通过$.ajax()函数加载json数据

javascript - 当 <ul> 中只有一个元素存在时隐藏 <ul>

javascript - 为什么ajax调用不调用静态web方法?

javascript - 解决可能的严格违规(并帮助 bat 侠拯救哥谭)

php - 调整图像大小和图像格式

php - 使用 SplFileObject 转换 CR 换行符

jquery - 如何触发带有动态内容的 fancybox 画廊