Ich habe ein Formular, in dem divs basierend auf dem, was in einem Dropdown-Feld ausgewählt ist, ein-/ausgeblendet werden. Die Verwendung von .show und .hide via jquery funktioniert hervorragend, um die Felder anzuzeigen/auszublenden, die Eingabe in diese Formulare muss jedoch erforderlich sein. Was passiert, wenn eines der Felder ausgeblendet ist, wird das Formular nicht gesendet - mehr als wahrscheinlich, weil dieses "versteckte" Feld noch benötigt wird.Show/Hide Divs, auch wenn Eingabe erforderlich ist?
Gibt es eine Möglichkeit, dieses Feld alle zusammen zu deaktivieren/zu entfernen, anstatt das div zu verstecken, wenn ein bestimmtes Element in der Dropdownliste ausgewählt ist? Ich habe versucht, die .attr ("deaktiviert", wahr) ohne Glück zu verwenden. Jede Hilfe wird geschätzt.
JQuery-Schnipsel:
$('#productpr1').on('change',function() {
if(this.value=='PRODUCT1')
{
$('.initial').show();
$('.name').show();
$('.mono').hide();
$('.comment').show();
}
else if (this.value=='PRODUCT2')
{
$('.initial').hide();
$('.name').hide();
$('.mono').show();
$('.comment').show();
}
else if (this.value=='PRODUCT3')
{
$('.initial').show();
$('.name').show();
$('.mono').show();
$('.comment').show();
}
else
{
$('.initial').show();
$('.name').show();
$('.mono').show();
$('.comment').show();
}
});
HTML:
<select name="productpr1" id="productpr1">
<option value="Please Select:0">Please select your product</option>
<option value="PRODUCT1">PRODUCT1</option>
<option value="PRODUCT2">PRODUCT2</option>
<option value="PRODUCT3">PRODUCT3</option>
</select>
<br>
<br>
<div class="initial">
<div id="Profont"><b>Initial:</b>
</div>
<input name="product1[]" type="text" required id="thisone" size="5">
</div>
<div class="name">
<div id="Profont"><b>Name:</b>
<br>
</div>
<input name="product1[]" type="text" required id="thisone" size="5">
</div>
<div class="mono">
<div id="Profont"><b>Mono Initials:</b>
<br>
</div>
<input name="product1[]" type="text" required id="thisone" size="5">
</div>
<div class="comment">
<div id="Profont"><b>Additional Comments:</b>
<br>
</div>
<input type="text" name="product1[]" size="10" id="comments">
</div>
<input type="submit" value="Add to Cart" name="Cart" class="INDVbutton" />
Ich mag diese Option wirklich, da ich nicht viel ändern muss. Die Felder verstecken/zeigen wie sie sollten, aber nach dem Einreichen passiert nichts. – Dre
Ich habe gerade festgestellt, dass '.name' nicht die Eingabe ist, es ist das DIV, das es enthält. Ich habe die Antwort aktualisiert, um die Eingaben zu finden und ihre erforderlichen Attribute zu ändern. – Barmar
Arbeitete perfekt! Vielen Dank!! – Dre