您好,我正在使用长轮询,ajax等制作聊天应用
我想要做的是当我点击"发送"按钮我希望按钮的值更改为"请稍候.."并将刷新并重新回到价值"发送"。
现在这是我的代码,当"发送"单击按钮:
$('#btnsend').val('Please wait..');
它确实有效,但它不会回到"发送"值。有什么想法吗?谢谢!
答案 0 :(得分:2)
$('#btnSend').on('click', function() {
$(this).val('Please wait...').prop('disabled', true);
// Your processing here e.g. ajax
// when completed
$(this).val('Send').prop('disabled', false);
})
答案 1 :(得分:2)
以下方法的优点是您需要担心初始html值
$('#btnSend').on('click', function() {
var intialValue = $(this).val(); // in case you are using button tag then use html() instead of val()
$(this).val('Please wait...').prop('disabled', true);
$.ajax({
..
..,
complete:function(){
$('#btnSend').val(intialValue); // again use html() incase of button or any other tag apart from input
}
})
})
答案 2 :(得分:2)
$('#send').on('click',function(){
var self=$(this);
self.val("Please wait...").attr('disabled',true);
$.ajax({
url: '/path/to/file',
type: 'default GET (Other values: POST)',
dataType: 'default: Intelligent Guess (Other values: xml, json, script, or html)',
data: {param1: 'value1'},
})
.done(function(data) {
self.val('Send').attr('disabled',false);
})
.fail(function() {
console.log("error");
})
.always(function() {
console.log("complete");
});
});