1

尽管我为 ajax 生成的下拉列表(基于另一个选择)获得了正确的选项,但我没有看到 PHP 脚本的值发布。但是,我看到了来自普通 HTML 元素的所有值(不是由 ajax 生成的)。我错过了什么?

1. 我的 scr_ajax.php 脚本生成的 HTML。- OK
$options 由 SQL 查询生成,结果选择是准确的。这几乎与 drop_down_1 相同。)。

<td>Drop Down 2</td>
<td></td>
<td>
<select name="drop_down_2" id="drop_down_2" value="" style="width:100%">
<option></option>
'.$options.'
</select>
</td>';

2. ajax 生成的 HTML 数据的去向.. - OK
正确接收上面的第二个下拉列表的 AJAX 生成的表单元素。):

... 
<tr id="ajaxContent">
</tr>
...

3.常规'ol提交按钮.. - 不OK
drop_down_1可以在$_POST数据中被捕获,但drop_down_2不能。我知道我在这里遗漏了一些东西..)

<input type="submit" value="Submit Request" />
4

2 回答 2

1

更好地开始将 jquery 用于日常任务。

http://api.jquery.com/jQuery.ajax/

于 2012-11-24T20:56:48.833 回答
0

[更新:2012 年 11 月 25 日]
我现在可以通过使用 jQuery 提交侦听器并填充隐藏字段来组合 HTML 和 AJAX 生成的帖子结果。然而,这似乎更像是一种特殊的技术/解决方法,而不是更直接的方法。

第一,我添加了隐藏的输入元素:

<input type="hidden" name="drop_down_2" id="drop_down_2" value="" />

第二,我添加了 jQuery 提交监听器:

<script type="text/javascript">
$(document).ready(function(){
    $("#form_name").submit(function() {
        var field = "drop_down_2";
        var param = document.getElementById(field).options[document.getElementById(field).selectedIndex].value;
        document.forms[0].elements[field].value = param;
    }); 
});
</script>

[更新:2012 年 12 月 1 日] 听起来正确的解决方案涉及掌握序列化功能。我将在验证后发布更新。

于 2012-12-02T06:28:17.727 回答