2014-01-10 10 views
1

У меня есть некоторые отключенные флажки при загрузке экрана и изменении одного из текстовых полей, флажок автоматически проверяется, и я хочу, чтобы значение флажка было передано в мой бэк-компонент во время отправки формы поэтому я подключил функцию onclick к кнопке отправки через JQuery, чтобы включить чекбокс в момент отправки, но все же значения не отправляются, но если я непосредственно добавлю функцию javascript к кнопке onclick submit, значения получаются.Проблемы с прикреплением на функцию щелчка через JQuery

Мой код выглядит следующим образом

<input type="checkbox" id="chck_box1" class="enableCheckbox"/> 
<input type="submit" id="submitButton" onclick="enableCheckBox()"/> 

there are two ways i implemented 
**1.** --- this enables the checkbox and values submitted 
function enableCheckbox(){  
    $('.enableCheckbox').each(function() { 
     $(this).removeAttr('disabled'); 

    }); 
} 
**2.** -- this enables the checkbox but the values not submitted 
$("#submitButton").on("click", function(){ 
    $('.enableCheckbox').each(function() { 
     $(this).removeAttr('disabled'); 

    }); 
    }); 

Может кто-нибудь помочь мне, чтобы понять разницу между кнопкой отправки OnClick и JQuery на (отправить)

благодаря

+1

Только совет: '$ (this) .prop ('disabled', false);'. – melancia

+0

Не могли бы вы разместить свою разметку HTML-формы, пожалуйста? – War10ck

+0

Я попытался пропустить, но это не помогло. Проблема в том, что removeAttr или prop работает при вызове из функции javascript в момент отправки вместо динамической привязки ... эта функция enableCheckBox имела код из моего выше сообщения .. – JSF

ответ

1

Я думаю

<input type="submit" id="submitButton" onclick="enableCheckBox()"/> 

пожаров образуют отправить событие первым, но кнопка

$("#submitButton").on("click", function(){ 

пожаров нажмите перед отправкой формы, то есть разница. Я думаю, что правильный путь подписаться на

$("Your_form_id).on("submit" , function() { 

и добавьте

return false; 

в конце функции для Предотвращения отправки формы, если это необходимо (например: отправить все переменные формы с помощью AJAX или так) ,

+0

Я ранее пробовал $ («Your_form_id») .submit(), который не работал, но это on() работал. – JSF

0

Я думаю, что у вас есть опечатка в '.enableChecbox', это может быть '.enableChec * k * box'

в моем примере все работает отлично HTML:

<input type="checkbox" class="enableCheckbox" disabled="true"> 
<input type="button" id="enablechk" value="Enable"> 

Сценарий:

$("#enablechk").click(function() { 
    $('.enableCheckbox').each(function() { 
    $(this).removeAttr('disabled'); 
}); 
}); 

jsfiddle:

http://jsfiddle.net/zx10tomcat/LZBfD/ 

разница между кнопку отправки OnClick и JQuery на (отправить) В первом случае это просто событие ckick, во втором - для m submit - разные объекты. Также вы можете написать return false; в конце on (submit) функция и форма не будут отправлены (и отправлены любые данные). Надеюсь, это поможет.

+0

спасибо. Даже я получил его включенным, но значения не получаются в моем backingbean во время отправки, но он активируется и отправляется при вызове из функции onclick HTML. – JSF