通过Jquery附加单击功能的问题

时间:2014-01-10 16:16:06

标签: jquery html jsf-1.2

我有一些禁用的复选框,当屏幕加载和更改其中一个文本框时,复选框会自动检查,我希望在表单提交期间将复选框值提交给我的支持bean,所以我将onclick函数附加到通过Jquery提交按钮以在提交时启用checbox,但仍然没有提交值,但如果我直接在提交按钮的onclick上添加javascript函数,则值将被设置为submmited。

我的代码看起来像这样

 <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之间的区别(提交)

感谢

2 个答案:

答案 0 :(得分:1)

我认为

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

首先触发表单提交事件,但

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

在提交表单之前点击按钮,这就是区别。我认为正确的方式是订阅

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

并添加

return false;

在函数结束时阻止在必要时提交表单(例如:通过ajax发送所有表单变量)。

答案 1 :(得分: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 on(提交)之间的区别 在第一种情况下,它只是一个ckick事件,在第二种形式提交 - 不同的对象。你也可以写return false;在结束时(提交)功能和表格将不会被提交(并发送任何数据)。 希望它有所帮助。