2012-01-28 76 views
0

這裏有兩個代碼段是我的形式如何使用複選框啓用禁用的圖像提交按鈕?

//複選框的一部分

<input type="checkbox" style="margin-right:3px">I confirm that the details on this form are correct. 

//提交按鈕

<input type="image" src="images/submit-btn.png" border="0" > 

現在我的問題是,如何啓用禁用提交按鈕使用複選框,通過jQuery的?

+0

從我可以看到你的提交按鈕實際上並沒有做任何事情,我想你對分配一個click處理程序錨標籤? – 2012-01-28 14:20:48

+0

這裏是演示檢查[它](http://jsfiddle.net/KK2aV/19/) – sathishkumar 2012-01-28 14:34:47

回答

2

試試這個

$(':checkbox').change(function(){ 
    $('input[type="image"]').attr("disabled", !$(this).attr('checked')); 
}); 

$('input[type="image"]').click(function(){ 
alert("123"); 
}); 

編輯:

<input type="image" src="images/submit-btn.png" border="0" disabled="disabled"/> 

小提琴例如:http://jsfiddle.net/hKAE5/

+0

嗨,我將它改爲,那是怎麼回事? – sasori 2012-01-28 14:23:09

+0

更新了答案.. – 2012-01-28 14:25:14

+0

如果我們假設提交按鈕被禁用,並且複選框的勾號應該啓用它..請更新您的答案,謝謝 – sasori 2012-01-28 14:33:22

0

由於您提交按鈕是一個鏈接(並非真正的提交按鈕)我想你正在使用JavaScript來處理鏈接上的點擊事件。如果你想禁用提交,你應該提供處理點擊這個鏈接的方式,或者你應該使用提交按鈕來代替。 使用提交按鈕時,您可以設置禁用屬性以禁用它。

1

你可能會提出錯誤的問題。 上面的提交按鈕其實不是圖像提交按鈕。

圖片提交按鈕是

<INPUT TYPE="image" SRC="images/submit-btn.png" id="submit_id" /> 

如果你想運行代碼時複選框(帶ID checkbox_id)被選中使用下面的代碼片段:

$('#checkbox_id').change(function() { 
if ($(this).is(':checked')) 
    $("#submit_id").attr("disabled", "disabled"); 
}); 

編輯: 如果你想提交按鈕默認情況下禁用您需要:

<INPUT TYPE="image" SRC="images/submit-btn.png" id="submit_id" disabled="disabled" /> 

然後你只需要改變上面的代碼中,所以當用戶複選框點擊,按鈕將被激活:

 $('#checkbox_id').change(function() { 
     if ($(this).is(':checked')) { 
      // DISABLE 
      $("#submit_id").attr("disabled", "disabled"); 
     } else { 
      // ENABLE    
      $("#submit_id").removeAttr("disabled"); 
     } 
    }); 
+0

我更新了我的問題...如何使默認情況下禁用按鈕,並通過使用jquery,如何啓用它勾選複選框?..請更新您的答案,謝謝 – sasori 2012-01-28 14:34:29

1

這裏是與您現有的標記工作的例子。您可以測試此:http://jsfiddle.net/brentmn/yPmSV/

HTML:

<input type="checkbox" style="margin-right:3px">I confirm that the details on this form are correct. 

<a class="submit disabled" href="#"><img src="images/submit-btn.png" border="0" ></a> 

JS:

$(function() { 
    var $check = $(':checkbox'); 
    var $submit = $('.submit'); 

    $submit.on('.click', function() { 
     return $check.is(':checked'); 
    }); 

    $check.on('click', configureSubmit); 

    function configureSubmit() { 
     if ($check.is(':checked')) { 
      $submit.removeClass('disabled'); 
     } else { 
      $submit.addClass('disabled'); 
     } 
    } 

    configureSubmit(); 
}); 
相關問題