0

我有一个基于表格的表格,我打算将数据输入到我的应用程序中。每个<tr>都是通过 Javascript 为我要添加的每个项目动态添加的。但是,我无法弄清楚如何管理发布数据。例如,我有这个:

<tr>
  <td><input type="text" name="name1"></td>
  <td><input type="text" name="value1"></td>
</tr>
<tr>
  <td><input type="text" name="name2"></td>
  <td><input type="text" name="value2"></td>
</tr>

params我得到的是:

{ "name1" => "derp", "value1" => "herp", "name2" => "Edward James Olmos", "value2" => "Boss voice"}

我将如何将其解析为 DataMapper 对象?

4

1 回答 1

1

最好在此处使用“排列”名称,以便所有动态添加的字段都作为一个集合传递。有两种方法可以使用数组名称来处理它,或者您自己进行编号:

<tr>
  <td><input type="text" name="array_of_names[2]"></td>
  <td><input type="text" name="array_of_values[2]"></td>
</tr>

(并在您的 javascript 中将现在要添加的数字作为全局变量跟踪)查看您将获得的 params 结构——在服务器端管理和连接会容易得多。

或者省略编号并使用它:

<tr>
  <td><input type="text" name="array_of_names[]"></td>
  <td><input type="text" name="array_of_values[]"></td>
</tr>

虽然在前端更容易编码,但将名称与服务器端的值连接起来会有点困难(传递的参数哈希不会有数字键)。

通过谷歌搜索“javascript 添加表单字段”很容易找到相关的 js 代码。这是一个带有编号字段名称的示例:http ://www.randomsnippets.com/2008/02/21/how-to-dynamically-add-form-elements-via-javascript/

于 2013-07-25T08:38:45.037 回答