javascript - 将多行从 HTML 发送到 PHP 并存储在 JSON 中

标签 javascript php jquery ajax html

我需要为用户提供在表单中输入多行数据并保存的选项。我有类似这样的 html。

<form id="books">
<table>
<tbody>
    <tr>
        <td><input name="bookName" type="text" /></td>
        <td><input name="author" type="text" /></td>
        <td><input name="publisher" type="text" /></td>
        <td><input name="year" type="text" /></td>
    </tr>
        <tr>
        <td><input name="bookName" type="text" /></td>
        <td><input name="author" type="text" /></td>
        <td><input name="publisher" type="text" /></td>
        <td><input name="year" type="text" /></td>
    </tr>
        <tr>
        <td><input name="bookName" type="text" /></td>
        <td><input name="author" type="text" /></td>
        <td><input name="publisher" type="text" /></td>
        <td><input name="year" type="text" /></td>
    </tr>
        <tr>
        <td><input name="bookName" type="text" /></td>
        <td><input name="author" type="text" /></td>
        <td><input name="publisher" type="text" /></td>
        <td><input name="year" type="text" /></td>
    </tr>
 </tbody>
</table>
<button id="AddRow">Add Row</button>
<button id="SubmitBook">Save</button>
</form> 

我想通过 PHP 以 JSON 格式保存数据。有人可以帮助我如何将我的表单序列化为 POST ,如下所示,让我知道我是否必须以不同的方式使用 HTML 以使这更容易(我尝试寻找解决方案,找不到任何符合我要求的人):

{
"books": [
{"bookName":"html", "author":"xxxxx", "publisher":"johnWiley", "year":"2010"},
{"bookName":"CSS", "author":"yyyyy", "publisher":"johnWiley", "year":"2011"},
{"bookName":"javaScript", "author":"aaaa", "publisher":"johnWiley", "year":"2012"},
{"bookName":"PHP", "author":"bbbbb", "publisher":"johnWiley", "year":"2013"}
]
}

最佳答案

var arr = [];
$('#SubmitBook').click(function() {
  var tablerow = $('#table').find('tr');
  tablerow.each(function() {
    var bookname = $(this).find('td .bookName').val();
    var author = $(this).find('td .author').val()
    var publisher = $(this).find('td .publisher').val()
    var year = $(this).find('td .year').val()

    arr.push({
      bookname: bookname,
      author: author,
      publisher: publisher,
      year: year

    })

  })
  console.log(JSON.stringify(arr))
})

尝试这样

DEMO

关于javascript - 将多行从 HTML 发送到 PHP 并存储在 JSON 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33358848/

相关文章:

jQuery slideDown slideUp 点击

javascript - 使用javascript函数的三种不同方式,但我不知道它的优缺点。有人可以解释差异吗?

javascript - Codecademy 上的石头剪刀布 Javascript 练习

javascript - 使用默认属性破坏作为函数参数的对象

php - MySQL-Docker:连接问题

php - 正在解压缩更新...无法创建目录。 WordPress的

jquery - .css (‘width’ ) 和 .css (‘height’ ) 与 .width() 和 .height()

javascript - 防止两名玩家在瑞士风格锦标赛中被匹配两次

javascript - 如何在按下月份按钮时删除所有全日历事件?

javascript - 自动点击没有类别和 ID 的链接