2016-11-10 4 views
0

Ich habe eine Tabelle, die Benutzer eine Auswahl aus einer Liste von Elementen und speichert die ausgewählte ID in einer versteckten Form Eingabe und dann eine Übergabeschaltfläche ermöglicht, die überprüft, um sicherzustellen, dass das versteckte Formular Eingabe ist nicht leer.Button Firing 2 Skripte anstelle von 1

Hier ist der HTML eine einzelne Zeile zeigt und die Submit-Button:

<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> 

Die Submit-Button wird die beiden folgenden Scripts aufrufen, wenn ich es nur wollen senden Sie das Formular aufrufen (2. Skript):

$(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; 
    } 
}); 

Nicht sicher, welche Änderung ich vornehmen muss, um zu verhindern, dass die Senden-Schaltfläche das erste Skript aufruft?

Antwort

0

Sie können :not([type="submit"]) Ihrem Selektor im ersten Skript hinzufügen, um die Übermittlungsschaltfläche auszuschließen.

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

Der erste Selektor $('button.btn-success') sowohl der Tasten Auswahl, da sie sowohl die Klasse ‚BTN-Erfolg‘ haben. Sie müssen der ersten Schaltfläche eine eindeutige Kennung hinzufügen, damit Sie sie auswählen können, ohne beide Schaltflächen zu erhalten. Sie können dies tun, indem Sie der ersten Schaltfläche eine weitere Klasse oder ID hinzufügen und dann Ihren Selektor so anpassen, dass er auf diesen eindeutigen Bezeichner zeigt.