好的......花了太多时间来解决这个问题...... 运行jQuery 1.9或更好....
我想知道是否有更好的解决方案。
我正在构建一个依赖于FORMS的FORMS的WebApp ....
页面打开并显示第一个FORM ...
用户在第一个FORM上进行一些选择,点击jQuery / ajax(不是html)Submit按钮,处理FORM并且jQuery / Ajax更新页面并用第二个FORM替换第一个FORM。 ..一切都按预期工作。 (第1级)
用户在第二个FORM上进行一些选择,点击jQuery / ajax(不是html)Submit按钮,处理FORM并且jQuery / Ajax更新页面并用第三个FORM替换第二个FORM。 ..一切都按预期工作。 (第2级)
4用户在第三个FORM上进行一些选择,点击jQuery / ajax(不是html)提交按钮,处理FORM并且jQuery / Ajax更新页面(级别3)和....
输入字段(所有复选框)及其所有属性现在可以通过Firebug在DOM中清晰可见...但是jQuery无法“找到”输入字段...以加载var thisData = {}对象。
使用此语法...
var search4 = $('#search4').val();
var search4 = $('form#updateTickets input#search4').val();
var search4 = $('form#updateTickets:input#search4').val();
在WebApp中的第三级运行时,这些或其他复杂选择器都不起作用... 但是他们都在我的测试页面的第一级进行了很好的测试。
我的解决方案是在第二级提交之前运行jQuery FORM验证脚本时捕获并将输入字段值存储在全局变量中....这真的是一件非常简单的事情......只需要几行代码和逻辑上的一点点洗牌。
正如我所说......我想知道是否有更好的方法......
如果不是......也许这可以节省其他人几个小时试图找到可行的解决方案。
EDITED .... @Ashley Medway和其他人......
在FORM =>中点击submitAJAXForm(num,action,id){....
var ajaxURL = AjaxPath + "AirTrafficControl/mysqlContacts.php";
var thisDataType = "html";
var search1 = $('#search1').val();
var search2 = $('#search2').val();
var search3 = $('#search3').val();
var search4 = $('#search4').val();
var action1 = 1;
var thisData = {
thisTable: '<?php echo $thisTable; ?>',
action: action,
action1: action1,
company_id: search1,
company_zipcode1: search2,
company_city1: search3,
companyname: search4,
ajax: ajax,
submit: true };
那么标准的jQuery Ajax的其余东西...... Ajax工作得很好......只是没有拿起四个($ search1,#search2,#search3,#search4)输入字段......
没有IFrame,没有重复的ID ...代码在独立的测试页面上完美运行....只是在埋没在WebApp中时不起作用....