Php Ajax创建的表单元素值在chrome和FF中不可用

Php Ajax创建的表单元素值在chrome和FF中不可用,php,ajax,forms,jquery,Php,Ajax,Forms,Jquery,我在表单中有2个select元素。第一个选择元素是静态的,第二个选择选项根据第一个选择元素而改变。 为此,我使用jQueryAjax。我得到了所有的东西。 当我提交表格时,问题就出现了。我没有得到第二个select元素值。 我的代码在IE中工作。 但不适用于Chrome和Mozilla。 我的html文件是 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <me

我在表单中有2个select元素。第一个选择元素是静态的,第二个选择选项根据第一个选择元素而改变。 为此,我使用jQueryAjax。我得到了所有的东西。 当我提交表格时,问题就出现了。我没有得到第二个select元素值。 我的代码在IE中工作。 但不适用于Chrome和Mozilla。 我的html文件是

 <!DOCTYPE html>
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta charset="utf-8" />
 <title>DATA ENTRY</title>

 <script type="text/javascript" src="js/jquery-min.js"></script>


  </head>
 <body>

 <table class="data_table">
<form name="form2" id="form2" method="post" action="submit_ops.php" />
<tr>
    <td>
        <select name="databaseTable" class="databaseTable">
            <option value="">Select Table</option>
            <option value="value1">value1</option>
            <option value="value2">value2</option>
            <option value="value3">value3</option>
        </select>
    </td>
    <td>
        <select id="TableColumn" name="TableColumn">
        </select>
    </td>
</tr>
<tr>
    <td colspan="3"><input type="submit" value="Continue" name="usubmit"/></td>
</tr>

</form>
</table>
</body>
<script type="text/javascript">
$(document).ready(function(){
    $("[name^=databaseTable]").on("change", function(){
       var val=$(this).val();

        $.ajax({
            type: "POST",
            url: "ajax.php",
            data: {"val" : val},
            success: function(result){
                $("#TableColumn" ).html(result);

            }
        });

    });

});
</script>
 </html>

数据输入
选择表
价值1
价值2
价值3
$(文档).ready(函数(){
$(“[name^=databaseTable]”)。在(“change”,function()上{
var val=$(this.val();
$.ajax({
类型:“POST”,
url:“ajax.php”,
数据:{“val”:val},
成功:功能(结果){
$(“#TableColumn”).html(结果);
}
});
});
});

提交表单时,TableColumn(第二个选择元素)的值不可用。

这是因为您没有为第二个元素指定任何名称,请将其更改为:

<select id="TableColumn" name="second">
</select>

#TableColumn
没有名称属性,因此不会提交其值

<td>
    <select id="TableColumn" name="TableColumn">
</select>


您的html无效(表单作为表的(直接)子级),因此浏览器试图理解它,结果是您在表单之外进行了第二次选择。使用适当的html来避免这种情况

<form ...>
   <table ...>
      ...
   </table>
</form>

...

我们在同一时间发布了相同的答案17:38:22:)@aligarian尝试将表单标签放在桌子旁边。