Php 获取Ajax加载的表单输入字段、动态输入字段和静态输入字段的值

Php 获取Ajax加载的表单输入字段、动态输入字段和静态输入字段的值,php,jquery,ajax,Php,Jquery,Ajax,这有点复杂,所以我希望我说得对 我有一个表单,它加载选项列表并以一个静态输入开始: <span id="keyword_list_out" class="input"><input class="keys margin-bottom" type="text" name="keywords[]" /> 正在发送的Ajax数据是: 'existing_options[]=' + existing_options + '&new_options[]=' + new_o

这有点复杂,所以我希望我说得对

我有一个表单,它加载选项列表并以一个静态输入开始:

<span id="keyword_list_out" class="input"><input class="keys margin-bottom" type="text" name="keywords[]" />
正在发送的Ajax数据是:

'existing_options[]=' + existing_options + '&new_options[]=' + new_options;

然而,PHP返回这些值是字符串而不是数组。这里缺少一些东西……

我建议在数据库端使用自动增量id。加载页面时,请将id放置为so
,然后在删除时使用:

$('.remove-keyword').on('click', function(){
    var id = $(this).parents('span').attr('id');
    place ajax post here with data sent being this id.
});

添加关键字基本上是一样的,除了使用ajax发布到脚本中,以及使用
mysql_insert_id()作为返回id在脚本中编码,然后动态创建下一行。

通过AJAX加载字段时,为其分配id

<input class="keys" type="text" id="keyword_11" name="keywords[]" value="Option Two" />
<input class="keys" type="text" id="keyword_12" name="keywords[]" value="Option Two" />
更新1


在向数据库添加新关键字的成功功能中,请通过AJAX更新现有dom,这样,如果添加新关键字,则编辑并尝试保存该关键字时,其ID将与之关联。

。不推荐使用live()
。使用
.on()
谢谢您的帮助。我按照你的建议做了,当用户删除输入字段时,它会同时从数据库中删除。数据库确实在ID字段上有自动增量,但是我仍然在同时进行插入和更新。如果您使用的是MySQL,那么您可以使用phpMyAdmin之类的工具将ID字段设置为使用自动增量。另外,我建议在服务器端脚本上设置一个成功或错误,这样,如果由于错误而没有从数据库中删除,它也不会从页面中删除。谢谢您的帮助。我在我当前的脚本中添加了一些你建议的内容。
$('.remove-keyword').on('click', function(){
    var id = $(this).parents('span').attr('id');
    place ajax post here with data sent being this id.
});
<input class="keys" type="text" id="keyword_11" name="keywords[]" value="Option Two" />
<input class="keys" type="text" id="keyword_12" name="keywords[]" value="Option Two" />
var new_keywords=Array();
var existing_keywords=Array();
$("input[name^='keywords']").each(function(){
  var id = $(this).attr("id");
  var val=$(this).val();
  if(id=="" && val!="")
  {
   new_keywords.push($(this).val());
  }
  else if(id!="")
  {
    var keyword_id=id.split("_")[1];
    existing_keywords.push({"id":keyword_id,"val":val});
  }
});

 // call AjAX function add new_keywords to database
 // call Ajax function to update existing keywords