Ответ 1
function submit_button(button_id){
$('#' + button_id).prop('type', 'submit');
}
Помните, что это изменяет тип, но не значение, поэтому кнопка все равно будет читать "подтвердить".
Попробуйте доказать это: http://jsfiddle.net/qeUxP/
Я вызываю эту функцию:
function submit_button(button_id){
$('#' + button_id).attr('type', 'submit');
}
чтобы сделать эту кнопку type = submit вместо кнопки.:
<input name="confirm_button" id="confirm_button" type="button" value="Confirm" class="login_btn" />
и я получаю эту ошибку (в firefox):
uncaught exception: свойство type не может быть изменено
Есть ли какая-нибудь работа вокруг?
function submit_button(button_id){
$('#' + button_id).prop('type', 'submit');
}
Помните, что это изменяет тип, но не значение, поэтому кнопка все равно будет читать "подтвердить".
Попробуйте доказать это: http://jsfiddle.net/qeUxP/
Почему jQuery не позволит вам просто изменить атрибут type?
Потому что это вызывает проблемы в Internet Explorer.
Дополнительная информация: изменить тип поля ввода с помощью jQuery
"Прямо из источника jQuery":
// We can't allow the type property to be changed (since it causes problems in IE)
if ( name == "type" && jQuery.nodeName( elem, "input" ) && elem.parentNode )
throw "type property can't be changed";
Здесь обходной путь:
$('<input name="confirm_button" id="confirm_button2" type="submit" value="Confirm" class="login_btn" />').insertAfter('#confirm_button');
$('#confirm_button').remove();
Наконец-то это сработало, попробуйте найти следующее:
$("#confirm_button").each(function ()
{ this.type = "number"; });
Почему бы просто не привязать событие click и вызвать форму submit в обработчике кликов?
function submit_button(){
var btn=document.getElementById('button_id');
btn.setAttribute('type', 'submit');
}
=============================================== =======================
function submit_button(){
$('#' + button_id).prop('type', 'submit');
}
=============================================== =======================
Обходной путь состоит в том, чтобы создать элемент правильного типа и заменить текущий exisitng.
Однако в вашем примере элемент <button>
может служить цели отправки формы, рендеринга в виде кнопки и не требует какого-либо javascript для этого, например:
<button name="confirm_button" id="confirm_button" type="input" value="Confirm" class="login_btn" disabled />
Затем, чтобы снова включить кнопку:
$('confirm_button').removeAttr('disabled');