表单不能在Internet Explorer中使用,但可以在其他浏览器中使用



由于某些原因,我的表单在除Internet Explorer之外的所有浏览器中都可以使用。

这是HTML:它是由我以外的人设计的。

<label for="name">Name:</label><br />
<input name="name" type="text" /><br />
<label for="address">Address:</label><br />
<input name="address" type="text" /><br />
<label for="phone">Phone:</label><br />
<input name="phone" type="text" /><br />
<label for="email">Email:</label><br />
<input name="email" type="text" /><br />
<input class="button" name="submit" style="margin-top:10px;" type="button" value="Join Club" /></div>

这是JavaScript:它是由我以外的人设计的。

<script type="text/javascript">
///////////////////////////////////////////////ARRAY DUMP FUNCTION
function dump(a,b){var c="";if(!b)b=0;var d="";for(var e=0;e<b+1;e++)d+="            ";if(typeof a=="object"){for(var f in a){var g=a[f];if(typeof g=="object"){c+=d+"'"+f+"' ...n";c+=dump(g,b+1)}else{c+=d+"'"+f+"' => ""+g+'"n'}}}else{c="===>"+a+"<===("+typeof a+")"}return c}
/////////////////////////////////////////////
$(document).ready( function() {
$('.clubregister  input[name="submit"]').click( function(event) {
event.preventDefault();
/*alert('This section is under construction, please contact us to get set up!n Sorry for the inconvenience');return false;*/
//CREATE ARRAY FROM FORM DATA SERIALIZED
var $formData = $('.clubregister input[type="text"], .clubregister textarea').serializeArray();
//PUSH ACTION TO ARRAY
$formData.push({'name':'action','value':'registerForClub'});
//SEND DATA TO HANDLER
$.ajax({
url:'http://torkliftcentralrv.com/club_register_handle.php',
dataType:'json',
async:false,
data:$formData,
success: function(data) {
//console.log(dump(data));
//CREATE MESSAGE
var message = '';
var consolemessage = '';
//IF ERRORS
if(typeof data['error'] !== 'undefined') {
//APPEND ERRORS TO MESSAGE
$.each( data['error'], function( index,data) {
message += (data + "n");
});
}
//IF MESSAGES
if(typeof data['message'] !== 'undefined') {
//APPEND MESSAGES TO MESSAGE
$.each( data['message'], function( index,data) {
message += (data + "n");
});
}
//IF CONSOLE MESSAGES
if(typeof data['console'] !== 'undefined') {
//APPEND CONSOLE MESSAGES TO MESSAGE
$.each( data['console'], function( index,data) {
consolemessage += (data + "n");
});
}
//IF SUCCESS SENT FROM SERVER
if(typeof data['success'] !== 'undefined') {
//CLEAR FORM
$('.clubregister input[type="text"], .clubregister textarea').val('');
}
alert(message);
console.log(consolemessage);
}
});
});
});

有什么想法吗?

您正在尝试执行跨域Ajax请求。IE8和IE9支持跨域请求,但它们使用自定义的APIXDomainRequest,这具有几个限制

也就是说,链接文档中的#4:">请求的Content-Type标头仅支持text/plain"。您要求使用JSON,但无法使用XDomainRequest发送Content-Type: text/json

尝试删除dataType:'json'行,并将data = $.parseJSON(data)添加到success处理程序的第一行。

删除行:

console.log(consolemessage);

IE无法处理此问题,会给您带来问题。

相关内容

最新更新