我有两个cfm
页面,当我在Internet Explorer中通过AJAX
从一个页面提交到另一个页面时,表单结构被视为空。
它适用于所有其他浏览器,即Chrome和FF。
此问题适用于所有版本的IE 9,10,11。
当我在没有AJAX调用的情况下提交此表单时,它已经提交,我也会收到表单。
有人可以帮忙吗?下面是我的AJAX调用的代码。
$("form").submit(function() {
//check if form fields are valid
var isValid = validateDetails();
if (isValid) {
$('#tab1').html('<div style="margin-top:100px;" align="center">Loading ...<br/><br/><img src="/rpnet/images/ajax-loader.gif"/></div>');
$.post($(this).attr("action"), $(this).serialize(), function(data){
$("#tab1").html(data);
});
return false;
}
return false;
});
<form action="/rpnet/iStat/rmtconf-dev.cfm?type=4" method="post" enctype="multipart/form-data" name="editapplicant">
<input name="AP_NUMBER" type="hidden" value="<cfoutput>#URL.AP_NUMBER#</cfoutput>">
<ul id="threecolumn1" class="threecolumn">
<li>Name:</li>
<li>Address:</li>
<li>City:</li>
<li>State:</li>
<li>Zip:</li>
<li>Daytime Phone:</li>
<li>Home Phone:</li>
<li>Fax:</li>
<li>Email:</li>
<li>DOB:</li>
<li>SSN:</li>
<li>Policy / Claim #:</li>
</ul>
<cfoutput>
<ul id="threecolumn2" class="threecolumn">
<li><cfif SESSION.TESTMODE eq 1>#TEST_NAME#<cfelse>#GetApplicantInfo.AP_NAME#</cfif></li>
<li>#GetApplicantInfo.AP_PT_ADDRESS#</li>
<li>#GetApplicantInfo.AP_PT_CITY#</li>
<li>#GetApplicantInfo.AP_PT_ST#</li>
<li>#GetApplicantInfo.AP_PT_ZIP#</li>
<li>#GetApplicantInfo.AP_PT_DAYPHONE#</li>
<li>#GetApplicantInfo.AP_PT_PHONE1#</li>
<li>#GetApplicantInfo.AP_PT_FAX#</li>
<li>#GetApplicantInfo.AP_PT_EMAIL#</li>
<li><cfif SESSION.TESTMODE eq 1>#DateFormat(TEST_DOB,"mm/dd/yyyy")#<cfelse>#DateFormat(GetApplicantInfo.AP_DOB,"mm/dd/yyyy")#</cfif></li>
<li><cfif SESSION.TESTMODE eq 1>#TEST_SSN#<cfelse>#GetApplicantInfo.AP_SSN#</cfif></li>
<li><cfif SESSION.TESTMODE eq 1>#TEST_FILE_NUMBER#<cfelse>#GetApplicantInfo.AP_FILE_NUMBER#</cfif></li>
</ul>
</cfoutput>
<ul id="threecolumn3" class="threecolumn">
<li><input name="NAME" id="NAME" type="text" size="30"></li>
<li><input name="ADDRESS" id="ADDRESS" type="text" size="30"></li>
<li><input name="CITY" id="CITY" type="text" size="30"></li>
<li><input name="STATE" id="STATE" style="text-transform:uppercase;" onkeyup="this.value=this.value.replace(/[^a-zA-Z]/g,'');" type="text" size="5" maxlength="2"></li>
<li><input name="ZIP" id="ZIP" type="text" size="11" maxlength="10"></li>
<li><input name="DAYPHONE" id="DAYPHONE" type="text" size="30"></li>
<li><input name="PHONE" id="PHONE" type="text" size="30"></li>
<li><input name="FAX" id="FAX" type="text" size="30"></li>
<li><input name="EMAIL" id="EMAIL"type="text" size="30"></li>
<li><input name="DOB" id="DOB" type="text" size="30"></li>
<li><input name="SSN" id="SSN" type="text" size="30"></li>
<li><input name="POLICYNUM" id="POLICYNUM" type="text" size="30"></li>
</ul>
<ul>
<li><input class="submitButton" name="Submit" type="submit" value="Submit Changes"><input class="submitButton" name="Clear" type="reset" id="Clear" value="Clear All"></li>
<div style="clear:both;"></div>
</ul>
</form>
答案 0 :(得分:0)
问题已经解决,但解决方案有点奇怪, 已从提交功能中删除了记录加载代码,表单提交正常。
以下是代码:
$("form").submit(function() {
//check if form fields are valid
var isValid = validateDetails();
if (isValid) {
$.post($(this).attr("action"), $(this).serialize(), function(data){
$("#tab1").html(data);
});
return false;
}
return false;
});
为什么这会发生任何想法?