2017-02-07 8 views
1

jspファイルでonblurとonchangeを使用する方法 私はいくつかのラジオとセレクション入力フィールドを含むテーブルを持つフォームを持っています。基本的には、すべてのフィールドのonchangeイベントと、一部のフィールドのonblurイベントを処理する必要があります。フィールドに変更が加えられ、フィールドがフォーカスを失うと、両方のイベントが発生します(これは正しい動作です)。javascriptでonblurとonchangeを使用する方法

Actullay私の予想される出力は、ラジオボタンを選択すると、選択されたラジオボタンが有効になり、他は無効になります。それは

<table class="table table-condensed table-striped table-bordered" style="width: 100%;"> 
    <thead style="height: 60px; overflow: auto;"> 
     <tr> 
     <th style="text-align: center;color: teal;width: 5%;padding: 1%;"></th> 
     <th style="text-align: center;color: teal;width: 5%;padding: 1%;">#</th> 
     <th style="color: teal;width: 15%;text-align: center;padding: 1%;">Pedagogy</th> 
     </tr> 
    </thead> 
    <tbody> 
     <% 
     int index = 0; 
     for (Map<String, Object> eachLessonPlanDaily : lessonPlanDailys) 
     { 
     %> 
     <tr> 
      <td style="text-align: center;width: 5%;"> 
      <% 
      if(studentList.get(0).get("lessonPlanId") != null && studentList.get(0).get("lessonPlanId").equals(eachLessonPlanDaily.get("_id").toString())) { 
      %>  
       <input type="radio" id="lessonPlanId" name="lessonPlanId" value="<%=eachLessonPlanDaily.get("_id").toString()%>" onblur="javascript:selectlpdblur(<%=index%>)" onchange="javascript:selectlpd(<%=index%>)" checked="checked"> 
      <% 
      } 
      else { 
      %>  
       <input type="radio" id="lessonPlanId" name="lessonPlanId" value="<%=eachLessonPlanDaily.get("_id").toString()%>" onblur="javascript:selectlpdblur(<%=index%>)" onchange="javascript:selectlpd(<%=index%>)"> 
      <% 
      } 
      %> 
      </td> 
     <td style="text-align: center;width: 5%; "><%=index+1%></td> 
     <td style="width: 15%;text-align: justify; "> 
      <select name="pedagogylp" id="pedagogylp-<%=index%>" value="this.value" onchange="javascript:selectlpd(<%=index%>)" disabled="true"> 
       <option value="select">-------------select-------------</option> 
       <% 
       Iterator iterator = pedagogyList.entrySet().iterator(); 
       while (iterator.hasNext()) { 
        Map.Entry mapEntry = (Map.Entry) iterator.next(); 
        if(eachLessonPlanDaily.get("pedagogy") != null && eachLessonPlanDaily.get("pedagogy").equals(mapEntry.getValue())){ 
        %> 
         <option selected value="<%=mapEntry.getKey()%>"><%=mapEntry.getValue()%></option> 
        <% 
        } 
        else { 
        %> 
         <option value="<%=mapEntry.getKey()%>"><%=mapEntry.getValue()%></option> 
        <% 
        } 
       } 
       %> 
      </select> 
     </td> 
     </tr> 
     <% 
     index++; 
       } 
     %> 
    </tbody> 
</table> 

を達成する方法をここで

function selectlpd(val) { 
    alert("ok........."+val) 
    document.getElementById("pedagogylpd").value = document.getElementById("pedagogylp-"+val).value; 
    document.getElementById("pedagogylp-"+val).disabled=false; 
} 

function selectlpdblur(val) { 
    alert("ok.blur........"+val) 
    document.getElementById("toynamelp-"+val).disabled=true; 
} 
+0

私たちはあなたのjavacriptをHTMLで追加した場所を教えてください。 – tfidelis

+0

@tfidelis inside headタグ私のスクリプトはうまくいきましたが、私はラジオボタンに2回チャレンジする必要があります。私の問題 –

+0

あなたは[fiddle](https://jsfiddle.net)を作成できますか?それはdebbugすることができなければ何が起こっているのかを見ることは難しいです。サーバサイドコードなしでHTMLを読み込みます。 – tfidelis

答えて

0

削除してください私のjavascriptのコードである "Javascriptを:" 属性 'のonchange' と 'のonblur'(http://www.w3schools.com/jsref/event_onblur.asp)から。あなたのコードはそうでなければ大丈夫ですが、ブラウザでF12オプション(デベロッパーコンソール)を使用してデバッグしてください。

+0

親愛なるAsish Jiはうまく動作しますが、ラジオボタンを別のラジオボタンに変更するには2回クリックする必要があります –

関連する問題