Ajax成功功能问题
我的JavaScript看起来像那样。Ajax成功功能问题
有一些问题,我想不通,我在那里做了错误
-
#status_message
不显示生成的消息 -
$("#status").className = 'fail';
不会覆盖当前类
var message=$("#status_message"), form=$("#bcscan"), ids=$('#itemids'),proctype, destination, counter=0, tenWordCounter = 0, autoPostInterval=null, errorcount=0, successcount=0;
function ajaxPost() {
formData = form.serialize()+'&process=Scan';
formUrl = form.attr('action');
formMethod = form.attr('method');
$.ajax({
url: formUrl,
type: formMethod,
dataType: "json",
data: formData,
success: function (data) {
var now = new Date();
if(data.err_detected==="yes")
{
if(data.errors.indexOf(",") != -1)
errorcount=errorcount+data.errors.split(",").length;
else errorcount=errorcount+1;
$("#status").className = 'fail';
message =errorcount+" errors found";
$('#errors').prepend(data.errors).slideDown("slow");
}
$('#success').prepend(data.success).slideDown("slow");
if(data.success.indexOf(",") != -1)
successcount=successcount+data.errors.split(",").length;
else successcount=successcount+1;
message +="Last submitted:"+now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds();
$("#status_message").text(message);
}
});
}
如果你想测试,请选择一些选项从选择像从db,ebay.fr输出,然后按“扫描”。输入10位数字,用逗号分隔41,42(它们存在于数据库表格中)。在第10位后,它会通过ajax发布textarea。
对于该消息,你声明的元素指向一个jQuery对象:
var message = $('#status_message'), ...
但此时你覆盖它的字符串:
message = errorcount + ' errors found';
你应该打电话:
message.text('some string...')
要改变它的内容。
对于类的变化,正确的语法是:
$("#status").addClass('fail');
addClass('fail');会覆盖当前班级? – 2012-02-03 09:02:27
固定类问题,但仍不能解决消息问题。 – 2012-02-03 09:10:21
好的,得到了这份工作。谢谢 – 2012-02-03 09:12:50
你试试这个? $("#status").addClass('fail');
addClass('fail');会覆盖当前班级? – 2012-02-03 09:04:20
如何
$('#status').attr('class','fail');
这将覆盖当前类。
thx非常。(F ***这个愚蠢的字符限制) – 2012-02-03 09:13:16
我在Firefox中使用了firebug,我认为你的ajaxPost()没有被调用过。 – 2012-02-03 08:59:01
@SérgioMichelsajaxpost只会在10值+后出现,“” – 2012-02-03 09:04:56
哦,我的错误:) – 2012-02-03 09:09:03