在我的請求AJAX中,在beforesend我禁用了所有按鈕,因爲在我看來是更好的安全選擇。 在成功我再次啓用所有按鈕。但我的頁面中有許多其他按鈕,我需要在成功請求後重新啓動默認禁用狀態。如何在ajax請求成功時恢復按鈕的初始值
有沒有一種方法可以獲取beforesend中設置的值,並在成功後設置該正確的禁用狀態?
因爲在我的代碼中,我啓用了所有按鈕都成功,但我需要恢復禁用狀態完全按照beforerequest。
低於我的簡單代碼。
$.ajax({
url :"/action/controller.php",
type :"POST",
data : data.serialize()
+ '&'
+ encodeURI('action')
+ '='
+ encodeURI(action)
+ '&'
+ encodeURI('tableid')
+ '='
+ encodeURI(tableid)
+ '&'
+ encodeURI('id')
+ '='
+ encodeURI(id),
beforeSend: function(){
//imgload.fadeIn('slow');
$('button').attr('disabled', true);
//console.log ($('button[name="action"]'));
},
success: function(retorno){
//console.log(retorno);
//msg(retorno, 'info');
datagrid();
$('form').unbind('submit').bind('submit');
$('button').attr('disabled', false);
}
HTML:
<button id="formbutton" type="button" data-action="back" data-tableid="<?php echo $tableid; ?>" data-id="<?php echo $id; ?>" class="btn btn-primary" title="Voltar" value="back">
<span class="glyphicon glyphicon-chevron-left"></span>
</button>
<button id="formbutton" type="button" data-action="new" data-tableid="<?php echo $tableid; ?>" data-id="<?php echo $id; ?>" class="btn btn-primary" title="Novo" value="new">
<span class="glyphicon glyphicon-plus-sign"></span> Novo
</button>
<button id="formbutton" type="submit" data-action="save" data-tableid="<?php echo $tableid; ?>" data-id="<?php echo $id; ?>" class="btn btn-primary" title="Salvar" value="save">
<span class="glyphicon glyphicon-saved"></span> Salvar
</button>
<button id="formbutton" type="submit" data-action="delete" data-tableid="<?php echo $tableid; ?>" data-id="<?php echo $id; ?>" class="btn btn-primary" title="Delete" value="delete">
<span class="glyphicon glyphicon-minus-sign"></span> Excluir
</button>
<button id="formbutton" type="submit" data-action="edit" data-tableid="<?php echo $tableid; ?>" data-id="<?php echo $id; ?>" class="btn btn-primary" title="Editar" value="edit">
<span class="glyphicon glyphicon-edit"></span> Editar
</button>
<button id="formbutton" type="submit" data-action="duplicate" data-tableid="<?php echo $tableid; ?>" data-id="<?php echo $id; ?>" class="btn btn-primary" title="Duplicar" value="duplicate">
<span class="glyphicon glyphicon-duplicate"></span> Duplicar
</button>
<button id="formbutton" type="submit" data-action="next" data-tableid="<?php echo $tableid; ?>" data-id="<?php echo $id; ?>" class="btn btn-primary" title="Proximo" value="next">
<span class="glyphicon glyphicon-chevron-right"></span>
</button>
不確定你的問題是什麼? 'js'的哪一部分沒有返回預期的結果? – guest271314
我可以在發送之前得到DISABLED狀態,並在成功之後正確設置... 因爲我在beforesend上有disabled = true的按鈕。 我有一個按鈕菜單,他們在DISABLED中有diferents狀態。我可以在請求 –
後得到恢復默認值是的,問題處的'js'似乎將'button'元素設置爲'disabled':'beforeSend'和'disabled'處爲'true','success'處爲'false'。在問題'js'沒有返回預期的結果?在'$ .ajax()'處沒有關閉')'? – guest271314