У меня есть форма, которая фиксирует подпись и отправляет ее в действие контроллера mvc4. Он отлично работает на IE, но не на Chrome, а на некоторых мобильных устройствах. Любые идеи, почему это не сообщение, или отправить форму на некоторых устройствах?
Здесь соответствующий код:
<form action="/Capture/Save" id="formSig" method="post">
...
<button id="btnSave" class="button save" data-action="save"
onclick="return SaveButton_Click();">Save</button>
</form>
<script type="text/javascript">
function SaveButton_Click() {
$("#btnSave").attr('disabled', 'disabled');
return true;
}
</script>
Отключив кнопку, вы фактически отменяете событие отправки сообщения (это проверено только в хроме, 1 отрицательный результат для меня достаточно). Вместо этого вы должны использовать событие отправки, чтобы отключить кнопку.
<form action="javascript:alert('Hello World!')" onsubmit="return FormSig_Submit()" id="formSig" method="post">
...
<button id="btnSave" class="button save" data-action="save">Save</button>
</form>
<script>
function FormSig_Submit() {
$("#btnSave").attr('disabled', 'disabled');
return true;
}
</script>
Было бы также лучше (на мой взгляд) не использовать встроенные события и .prop
вместо .attr
.
<form action="javascript:alert('Hello World!')" id="formSig" method="post">
...
<button id="btnSave" class="button save" data-action="save">Save</button>
</form>
<script>
$(document).ready(function(){
$("#formSig").submit(function(){
//$("#btnSave").attr('disabled', 'disabled');
$("#btnSave").prop('disabled', true);
});
});
</script>
type="submit"
может помочь.<button>
вместо<input type="submit">
для отправки HTML-формы.