2017-08-23 7 views
0

すでに存在するかどうかの検証を行う必要があります。値が存在する場合、ボタンのクリックが発生しても、コントローラーのヒットには行かないでください。私の見解は、開始フォームと提出タイプです。 AJAX呼び出しがなければ自動的にコントローラに送られます。私は以下のような変更を行わなかったが、何の希望jqueryを使用してビューからコントローラヒットを制限する

私は1つの方法checkExistsを追加した

<td align="left"><button type="submit" id="btnOK" class="btn btn-success" name="command" onclick="return checkExists(this);" value="ok" disabled="disabled">OK</button></td> 

ビューで。私はtabNameListを取る(すでにDBに存在する)の値とそれらのものを比較し、その後e.preventDefault()

function checkExists(e) 
    { 
     debugger; 
     var headerName = $("#strTabHeader").val(); 
     $.each(tabNameList, function (index, item) { 
      if(item==headerName) 
      { 
       e.preventDefault(); 
//return false; 
      }    
     }); 
    } 

を呼び出すしかし、それは動作しません。親切に私にお勧めします。私は本当に長い時間ここにこだわった。

+0

私は右のあなたの質問を取得してください - あなたはボタンを押す際に提出からフォームを無効にしたいですか?その場合は、ボタンからのクリックイベントではなく、フォームからの送信イベントを使用する必要があります。 –

答えて

0

ベター・停止イベントをクリックして次のように条件をご確認ください:

<td align="left"><button type="submit" id="btnOK" class="btn btn-success" name="command" value="ok" disabled="disabled">OK</button></td> 

$('#btnOK').click(function(e){ 
    e.preventDefault(); 
    var headerName = $("#strTabHeader").val(); 
    $.each(tabNameList, function (index, item) { 
     if(item!=headerName) 
     { 
      //submit form 
      $('form').submit(); 

     } 
    }); 
}) 
関連する問題