Input deaktivieren
Lebkuchenmann
- javascript
0 ChrisB
Hallo zusammen,
ich habe ein Formular, bei dem je nach Auswahl in einem Select-Feld ein weiteres Feld aktiviert bzw. deaktiviert wird. Das fuktioniert auch soweit, ich habe aber noch zwei kleine Probleme damit.
1. Ein Beispiel: http://tzign.net/demo/musterfirma/batterie.php (Es darf gerne geklickt und abgesendet werden)
Es geht um den Bereich "technische Prüfung". Wird im Select-Feld der unterste Wert ausgewählt, wird das Feld für die Startleistung deaktiviert. Wähle ich zuvor ein anderen Wert aus dem Select-Feld, und fülle das Besagte Feld aus, wird auch dieser Wert übertragen. Ich würde den gerne gleich löschen.
2. Das Formular wirb beim Senden überprüft. Ist ein Feld nicht oder falsch ausgefüllt, wird das Feld durch einen roten Balken markiert, gleichzeitig fliegt die Deaktivierung aufgehoben. Ich muss wohl den Wert beim Senden mit übergeben, damit das nicht passiert. Ich weiß aber nich genau wie ich das machen kann.
Vielleicht kann mir jemand bei der Lösung helfen ;-)
Javascript:~~~javascript
<script language="javascript">
function setVisibility()
{
var val = document.getElementById('testergebnis').value;
startleistung = document.getElementById('startleistung');
if (val == 'Batterie ersetzen, Zellenschluss' )
{
startleistung.style.backgroundColor = '#ccc';
startleistung.disabled = true;
} else {
startleistung.style.backgroundColor = '#fff';
}
}
</script>
HTML:~~~html
<tr>
<td>Testergebnis</td>
<td></td>
<td><select class="select_185" tabindex="25" id="testergebnis" name="testergebnis" onchange="setVisibility();">
<option value=""></option>
<option value="Batterie gut">Batterie gut</option>
<option value="Batterie gut, laden">Batterie gut, laden</option>
<option value="Parameter prüfen">Parameter prüfen</option>
<option value="Batterie ersetzen">Batterie ersetzen</option>
<option value="Batterie laden, erneut testen">Batterie laden, erneut testen</option>
<option value="Batterie ersetzen, Zellenschluss">Batterie ersetzen, Zellenschluss</option>
</select></td>
<td></td>
</tr>
<tr>
<td>Ruhespannung U<sub>0</sub></td>
<td></td>
<td><input class="text_60" tabindex="27" type="text" maxlength="6" id="ruhespannung" name="ruhespannung" value="" /> V</td>
<td></td>
</tr>
<tr>
<td>Startleistung</td>
<td></td>
<td height="30"><input class="text_60" tabindex="28" type="text" maxlength="3" id="startleistung" name="startleistung" value="" /> %</td>
<td><span id="startleistungj" style="display: none; background:#fff;">keine Eingabe erforderlich</span></td>
</tr>
Hi,
- Ein Beispiel: http://tzign.net/demo/musterfirma/batterie.php (Es darf gerne geklickt und abgesendet werden)
Es geht um den Bereich "technische Prüfung". Wird im Select-Feld der unterste Wert ausgewählt, wird das Feld für die Startleistung deaktiviert. Wähle ich zuvor ein anderen Wert aus dem Select-Feld, und fülle das Besagte Feld aus, wird auch dieser Wert übertragen. Ich würde den gerne gleich löschen.
Und was hindert dich daran?
- Das Formular wirb beim Senden überprüft. Ist ein Feld nicht oder falsch ausgefüllt, wird das Feld durch einen roten Balken markiert, gleichzeitig fliegt die Deaktivierung aufgehoben. Ich muss wohl den Wert beim Senden mit übergeben, damit das nicht passiert. Ich weiß aber nich genau wie ich das machen kann.
Ich verstehe nicht, was du uns sagen willst. Insb. unter einer fliegenden Deaktivierung kann ich mir nichts vorstellen.
MfG ChrisB
Und was hindert dich daran?
Unwissenheit!? Aber man lernt ja täglich dazu. Somit hab ich den Punkt schon selbst gelöst.
- Das Formular wirb beim Senden überprüft. Ist ein Feld nicht oder falsch ausgefüllt, wird das Feld durch einen roten Balken markiert, gleichzeitig wird die Deaktivierung aufgehoben. Ich muss wohl den Wert beim Senden mit übergeben, damit das nicht passiert. Ich weiß aber nich genau wie ich das machen kann.
Ich verstehe nicht, was du uns sagen willst. Insb. unter einer fliegenden Deaktivierung kann ich mir nichts vorstellen.
Schreibfehler. Hab's oben korrigiert.
Ich muss wohl die Variable an php übergeben, oder mit Javascript irgendwie weiterarbeiten.
Hat sich erledigt, hab alles selbst hinbekommen.