我有一个提交表单的按钮。当有人点击它我想要禁用它,我想在它内部出现一个小的加载图标。以下代码适用于除Safari之外的所有浏览器。
<button type="submit" class="btn btn-primary" id="submit_button" onclick="javascript:document.getElementById('loadinggif').style='height:20px;';
document.getElementById('thetext').style='display:none';
document.getElementById('submit_button').className='btn btn-primary some-class disabled';">
<div id="thetext">Submit Form</div><img id="loadinggif" class="img-responsive center-block" src="/img/loading.gif" style="display:none;height:20px;"></button>
在Safari中,上面的代码会导致按钮在表单提交时“冻结”,并且不会执行任何javascript。
我尝试了所有可能的组合:我将javascript移动到了一个函数中,我添加并删除了javascript:
前缀,并将return true;
或return false;
附加到javascript的末尾(内联)或者在函数中),我甚至尝试从javascript本身提交表单。没有任何效果(在Safari上)。
更新
如果我删除表单提交,则按钮css会更改工作。出于某种原因,样式更改与提交表单相结合在Safari上不起作用。我也尝试过使用JQuery和同样的问题。