2017-09-13 1 views
-1

Ich versuche, eine Fehlermeldung mit jQuery beim Absenden des Formulars anzuzeigen, wenn Optionsfeld True ausgewählt ist und das Eingabefeld leer ist, aus irgendeinem Grund ist es fehlgeschlagen. Irgendwelche Vorschläge werden geschätzt!Validieren Eingabefeld basierend auf Radio-Eingabe und Anzeige Fehlermeldung

<div class="row col-lg-offset-2 top-buffer"> 
<h4> 
    <strong> 
     <span>Is Account Deleted?:</span> 
    </strong> 
</h4> 
      @Html.RadioButtonFor(model => model.IsDeleted, true) @Html.Label("Yes") 
      @Html.RadioButtonFor(model => model.IsDeleted, false) @Html.Label("No") 

<br> 
</div> 
<div class="row col-lg-offset-2 top-buffer" id="reason"> 
    <div class="col-sm-2"> 
     <b>Reason for Delete:</b> 
    </div> 
    <div class="col-sm-10"> 
     @Html.TextBoxFor(model => model.reason, new { @class = "form-control", @id = "reason" }) 

     <br /> 
    </div> 
    <div class="row col-sm-12"> 
     <label id="lblErrorMsg" class="has-error" style="color: #BD362F"></label> 
    </div> 
    <div class="col-sm-4"> 
     <button type = "submit" id="Next" name="Next" class="btn btn-primary">Next</button> 
    </div> 
</div> 

Script:

<script> 
$("#Next").click(function() { 
    if ($("input[name='IsDeleted']" === "True" && $("#reason").val(''))) { 
     $("#lblErrorMsg").text("Please enter meter number"); 
    } else { 
     $("#lblErrorMsg").text(""); 
    } 
}); 

+0

Versuch hat 'true' nicht stimmt, auch ist Ihr Grund, sondern tatsächlich bauen? – clearshot66

+0

Verwenden Sie ein bedingtes Validierungsattribut (siehe den Kommentar zu Ihrer [vorherigen Frage] (https://stackoverflow.com/questions/46181191/hide-display-a-input-field-based-on-value-from-htmlradiobuttonfor-and) (make-it-ma)) –

+0

@StephenMuecke Danke für den Link, es war sehr hilfreich. Aber ich versuche diese Validierung in der Ansicht durchzuführen. Welches ist besser zu tun? Dieser Ansatz funktioniert auch. –

Antwort

0

ich nicht sicher sein kann, da ich nicht die volle HTML-Code sehen Sie aber versuchen, statt:

if ($("input[name='IsDeleted']" === "True" && $("#reason").val(''))) { 

dies:

if ($("input[name='IsDeleted']:checked").val() === "True" && $("#reason").val() == '') 

verbessert ein wenig beantworten, aber stellen Sie sicher, dass IsDeleted Optionsfeld Wert „True“

+0

hinzu vielen Dank! Es klappt. So ein Anfängerfehler! –

+0

Froh, hilfreich zu sein, können Sie sicherstellen, dass meine verbesserte Antwort auch funktioniert? – pegla

+0

Ja, Beide arbeiten! –

Verwandte Themen