zahl 9999 in der xml als value rauskommt?
vielleicht kann ja jemand hier helfen:
ich weil, wenn nichts im Feld drin steht, dass die zahl 9999 in der xml als value rauskommt
<input type="hidden" name="Geburtsjahr_Sorgeberechtigter_1" value="9999">
<input type="hidden" name="Geburtsjahr_Sorgeberechtigter_2" value="9999">
<div class="col-xs-3" style="width: 187px;">Geburtsjahr</div>
<div class="col-xs-4" style="width: 272px;">
<div class="form-group">
<input type="text" class="form-control" style="width: 125px;" placeholder="JJJJ" name="Geburtsjahr_Sorgeberechtigter_1" id="Geburtsjahr_Sorgeberechtigter_1" value="{if $pdf}{$values.Geburtsjahr_Sorgeberechtigter_1}{/if}" maxlength="4" min="1900" max="2100">
</div>
</div>
<div class="col-xs-3">
<div class="form-group">
<input type="text" class="form-control" style="width: 125px;" placeholder="JJJJ" name="Geburtsjahr_Sorgeberechtigter_2" id="Geburtsjahr_Sorgeberechtigter_2" value="{if $pdf}{$values.Geburtsjahr_Sorgeberechtigter_2}{/if}" maxlength="4" min="1900" max="2100">
</div>
</div>
// Geburtsjahr
$(document).ready(function(){
$('#Geburtsjahr_Sorgeberechtigter_1').on('input', function(){
var eingabeWert = $(this).val();
if(eingabeWert === ''){
eingabeWert = '9999';
}
$('input[name="Geburtsjahr_Sorgeberechtigter_1"]').attr("value", eingabeWert);
});
});
$(document).ready(function(){
$('#Geburtsjahr_Sorgeberechtigter_2').on('input', function(){
var eingabeWert = $(this).val();
if(eingabeWert === ''){
eingabeWert = '9999';
}
$('input[name="Geburtsjahr_Sorgeberechtigter_2"]').attr("value", eingabeWert);
});
});
1 Antwort
Insofern ich dein Anliegen und Umgebungen richtig interpretiere, gäbe es z.B. folgende Lösungsansätze:
value="{if $pdf}{$values.Geburtsjahr_Sorgeberechtigter_1}{else}9999{/if}"
Ansonsten deinem jQuery Ansatz folgend (Demo):
Füge data-default-years="XXXX" zu inputs hinzu, welche dieses Verhalten teilen sollen.
<input type="text" class="form-control" data-default-years="9999" value="{if $pdf}...{/if}">
<script type="text/javascript">
// Alle Inputs welche einen Standardwert haben sollen
var inputs = $('input[data-default-years]');
// Dein initialer Check
$(document).ready(function(){
inputs.trigger('change');
});
// Event bei Änderung des Feldes
inputs.on('change', function() {
// Aktuellen Wert aus Feld ohne Leerzeichen
var value = $(this).val().trim();
// Wenn Wert Zeichenlänge 0
if (!value.length) {
// Dann den Data-Wert aus dem Input als Default
value = $(this).data('default-years');
}
// Wert aktualisieren
$(this).val(value);
});
</script>
Woher ich das weiß:Berufserfahrung – IT Autodidakt & DAU-Proofed als PC-Flittchen