过去几个小时我一直在解决这个问题,令人沮丧的是找不到解决方案。我正在尝试使用JQuery .ajax()函数提交表单,但它没有提交,继承人代码,任何建议都会非常感激:
$(document).ready(function() {
var livelistURL = "/scripts/livelist.php?guestlist=<?php echo $_GET['guestlist']; ?>";
var names = '';
var dot = '.';
$("#livelist").load(livelistURL);
$("input#name").select().focus();
$("#addname").submit(function(event){
event.preventDefault();
$("input#name").blur();
$('#working').show();
$('#event-box').fadeTo('fast', 0.5);
var guestlist = '<?php echo $_GET['guestlist']; ?>';
var name = $('input#name');
var by = '<?php echo $email; ?>';
var data = 'name=' + name.val() + '&guestlist=' + guestlist.val() + '&by=' + by.val();
$("input#name").blur();
$.ajax({
url: "/scripts/addname.php",
type: "post",
data: data,
success: function(){
var value = $("input#name").val().toUpperCase();;
$("span.success").text(value);
if (names == '') {
names = value;
}
else {
names = ' ' + value + ', ' + names;
$("span#dot").text(dot);
}
$("span#name1").text(names);
$('#working').fadeOut('fast');
$('#success').fadeIn('fast');
$('#added-names').fadeIn('fast');
$('#success').delay('600').fadeOut('fast');
$('#event-box').delay('600').fadeTo('fast', 1.0);
},
error: function(){
$('#working').fadeOut('fast');
$('#error').fadeIn('fast');
$('#error').delay('600').fadeOut('fast');
},
complete: function(){
$("input#name").val('');
$("input#name").select().focus();
}
});
});
}); // end
<form id="addname">
<input id="name" name="name" class="tagcheck" style="z-index: 1000;" minlength="5" maxlength="60" placeholder="Add Name" />
</form>
答案 0 :(得分:1)
安装Firebug,然后检查控制台。这有助于您调试Ajax请求 - 我使用EXTENSIVELY。
尝试删除所有其他Javascript内容,将其删除直到可行。此外,addname.php中可能存在错误
答案 1 :(得分:0)
我在这一行中看到了一些问题:
var data = 'name=' + name.val() + '&guestlist=' + guestlist.val() + '&by=' + by.val();
请注意,guestlist和变量不是jQuery变量。所以你不能使用val(),它会导致错误。从两者中取出val()应该可以解决这个问题。
var data = 'name=' + name.val() + '&guestlist=' + guestlist + '&by=' + by;
我假设你的表单有某种提交按钮吗?你刚才没有包含表单HTML的那部分?