我既要设置表单的动作,又要通过div的onclick事件提交表单:
<div class="action_button" onclick="document.forms['test'].action='url/to/action';document.forms['test'].submit()">
<span class="action_button_label">Save</span>
</div>
这可以正常工作,但是我想使用一些代码来有条件地检查action_label_button中的“保存”,并且只让commit()触发一次。我试图防止发生多次保存(这在我的应用程序中产生重复的数据)。
// disable save buttons onclick (prevent multiple clicks of save buttons)
$('.action_button_label').one('click', function() {
// if the button is a save button
if($(this).html().indexOf('Save') != -1) {
// submit the parent form
$(this).html('<span class="action_button_label" style="color:gray;">Saving...</span>');
$(this).parents('form').submit();
}
});
$('form').bind('submit', function() {
$(this).find('action_button').attr('onclick', '');
});
此代码似乎没有按我预期的那样工作。恐怕我在这里没有深度,任何指针都很好。
最佳答案
尝试更换
$(this).find('action_button').attr('onclick', '');
与
$(this).find('.action_button').attr('onclick', '');