2016-11-10 8 views
0

私は、ユーザーが項目のリストから選択を行い、選択したIDを隠しフォーム入力に格納するテーブルを持っています。そして、隠しフォームを確認するための確認ボタンを押します入力は空ではありません。ボタン1を実行する代わりに2つのスクリプトを実行する

はここで単一の行を示すHTMLだとsubmitボタン:私はそれがフォームを送信する(第二スクリプト)を起動したいとき

<tr class="" id="PR7518"> 
    <td>1234A</td> 
    <td>Option A</td> 
    <td class="text-center"> 
    <button type="button" class="btn btn-success btn-sm">Select</button> 
    </td> 

    <div class="text-center"> 
    <button type="submit" name="buttonType" value="saveSelected" class="btn btn-success">Submit</button> 
    </div> 

ボタンは、以下のスクリプトの両方を呼び出している投稿:

$(document).ready(function() { 
    $('button.btn-success').click(function() { 
    $('#productID').val(productID); 
    }); 
}); 



$("form").submit(function(event) { 
    event.preventDefault(); 
    if ($('#productID').val() == '') { 
    $("#productID_Error").show(); 
    return false; 
    } 
}); 

送信ボタンが最初のスクリプトを呼び出さないようにするために必要な変更は不明ですか?

答えて

0

最初のスクリプトでセレクタに:not([type="submit"])を追加して、送信ボタンを除外することができます。

$(document).ready(function() { 
    $('button.btn-success:not([type="submit"])').click(function() { 
    $('#productID').val(productID); 
    }); 
}); 
1

彼らは両方の「BTN-成功」クラスを持っているので、第1のセレクタ$('button.btn-success')は、両方のボタンを選択しています。最初のボタンに何らかの一意の識別子を追加して、両方のボタンを取得せずに選択できるようにする必要があります。別のクラスやIDを最初のボタンに追加し、その一意の識別子を指すようにセレクタを調整することで、これを行うことができます。

関連する問題