1

チェックボックスがチェックされているかどうかを検出するために Javascript を使用しようとしています。私の計画は、ユーザーがチェックボックスを選択して手紙を印刷済みとしてマークし、Ajax を使用してデータベースを更新できるようにすることです。

これが私が使用しているコードです。

<label for="printed">Printed</label>
<input type="checkbox" name="8200" id="8200" value="P" onclick="checked(this.id);" />
<script type="text/javascript">
  function checked(id) {
    var remember = document.getElementById(id);
    if (remember.checked){
      alert("checked");
    }else{
      alert("You didn't check it!");
    }
  }
</script>

私が見返りに得るのは、というエラーだけですUncaught TypeError: boolean is not a function from Google Chrome and checked is not a function from Firefox.

4

6 に答える 6

6

入力のブール値のチェックされたフィールドは、定義したフィールドを非表示にするだけなので、javascript メソッドには別の名前を使用する必要があります...

于 2012-11-14T10:46:31.110 に答える
2

JavaScript メソッドの名前を変更する必要があります。

HTML:

<label for="printed">Printed</label>
<input type="checkbox" name="8200" id="8200" value="P" onclick="isChecked(this.id);" />

JS:

   function isChecked(id) {
        var remember = document.getElementById(id);
        if (remember.checked){
            alert("checked");
        }else{
            alert("You didn't check it!");
        }
    }

この JSFiddle を見てください: http://jsfiddle.net/6dx6A/39/

于 2012-11-14T10:56:25.433 に答える
1

使用している関数名を「checked(this.id)」に変更するだけです。私はchecked1(this.id)を試しました。出来た

于 2012-11-14T10:51:53.087 に答える
1

次のように、関数名を変更して答えを得ることができます。それは私のために働いた

function IsChecked(id)
{
    var remember = document.getElementById(id);
    if (remember.checked){
       alert("checked");
    }else{
       alert("You didn't check it!");
    }
}
于 2012-11-14T10:54:31.290 に答える
1

あなたは私が満足していない別の jQuery ソリューションを手に入れたので、私の jQuery ソリューションを提供します。

<input type="checkbox" name="8200" id="theid" value="P" />

// 8200 isn't a valid id in HTML4, it can't start with a number
$('#theid').change(function(){
    if (this.checked)
        alert('checked');
    else
        alert('unchecked');
});
于 2012-11-14T10:54:42.940 に答える
0

これがJQueryソリューションにあるもので、ページ上のすべてのチェックボックスで機能します(セレクターにクラスを追加して、これを特定のチェックボックスのみに適用できるようにします)

$(function(){
  var remember;
  $('input:checkbox').click(function(){
    remember = $(this).attr('id');

    if($(this).is(':checked')){
      // Checkbox is checked

    } else {
      // Checkbox is NOT checked

    }

  });
});
于 2012-11-14T10:49:54.620 に答える