Setzen eines Input-Feldes von Readonly auf Eingabebereit
Jessica
- javascript
0 Thomas Meinike0 H2O
Hallo,
ich bin Erstposter und habe ehrlich das Forum durchsucht, bevor ich gepostet habe (sollte mir dabei etwas entgangen sein, bitte ich um Entschuldigung).
Ich versuche ein Formular aufzubauen, bei dem ein Input-Feld readonly ist (funktioniert) und wenn man auf eine Checkbox klingt soll es eingabebereit werden, dafür habe ich unten aufgelistete Funktion geschrieben. Man springt in die richtigen Zweige, aber außer der Formänderung des Input-Feldes funktioniert nichts. Meine Ansätze habe ich im Code gelassen, damit man sieht, dass ich Alternativen ausprobiert habe, bevor ich den Rat von Experten einhole.
Code: Der Name der Form ist auftrag2, die Checkbox heißt kostenpflichtig und das Input-Feld mandant.
function Check_readonly()
{
if ( document.auftrag2.kostenpflichtig.checked )
{
document.auftrag2.mandant.value = "";
document.auftrag2.mandant.style.setAttribute("border","1","false");
document.auftrag2.mandant.style.setAttribute("background","FFFFFF","false");
/* bereitstellen, dass man hier wieder schreiben kann */
/* folgende Dinge habe ich erfolglos ausprobiert*/
document.auftrag2.mandant.setAttribute("maxLength","100","false");
document.auftrag2.mandant.readOnly = false;
document.auftrag2.mandant.readOnly = "false";
document.auftrag2.mandant.disable = false;
document.auftrag2.mandant.disable = "false";
}
else
{
document.auftrag2.mandant.style.setAttribute("border","thin solid red","false");
document.auftrag2.mandant.style.setAttribute("background","E1E1E1","false");
document.auftrag2.mandant.setAttribute("maxLength","0","false");
/* falls das nach dem erneuten bereitstellen nicht funktionietrt this.blur(); ausprobieren */
}
}
Vielen Dank für Eure Bemühungen
(Hoffe, dass ich in nicht allzu ferner Zukunft vielleicht sogar selbst ein paar Fragen aus dem Forum beantworten kann, und somit von Nutzen bin)
Mit freundlichen Grüßen
Jessica
Hallo,
document.auftrag2.mandant.disable = false;
Es muss disabled = true|false lauten.
document.auftrag2.mandant.style.setAttribute("border","thin solid red","false");
Besser:
document.auftrag2.mandant.style.border="thin solid red";
document.auftrag2.mandant.style.setAttribute("background","E1E1E1","false");
Analog wie border schreiben und den Farbwert gueltig machen, also mit # am Anfang.
document.auftrag2.mandant.setAttribute("maxLength","0","false");
Ggf. ausweichen auf:
document.auftrag2.mandant.maxLength="0";
wobei mir eine Eingabelaenge von 0 fragwuerdig erscheint.
Schau mal in den JS-Code zu diesem Beispiel, es wird die Eigenschaft "disabled" dynamisch verwendet.
MfG, Thomas
[Nachtrag:]
Schau mal in den JS-Code zu diesem Beispiel, es wird die Eigenschaft "disabled" dynamisch verwendet.
Link zum Beispiel: http://www.datenverdrahten.de/svgphp/
MfG, Thomas
Hi,
document.auftrag2.mandant.style.border="thin solid red";
document.auftrag2.mandant.style.setAttribute("background","E1E1E1","false");
Analog wie border schreiben und den Farbwert gueltig machen, also mit # am Anfang.
Wenn mehrere Eigenschaften zu modifizieren sind koennte man diese auch unter einer neuen Klasse zusammenfassen, und dann mit document.auftrag2.mandant.className='neuclass' lediglich einmal diese neue Klasse zuweisen.
Gruesse, Joachim
Hallo.
Ich versuche ein Formular aufzubauen, bei dem ein Input-Feld readonly ist (funktioniert) und wenn man auf eine Checkbox klingt soll es eingabebereit werden, dafür habe ich unten aufgelistete Funktion geschrieben. Man springt in die richtigen Zweige, aber außer der Formänderung des Input-Feldes funktioniert nichts. Meine Ansätze habe ich im Code gelassen, damit man sieht, dass ich Alternativen ausprobiert habe, bevor ich den Rat von Experten einhole.
Also hier mal ein Link zu Javatop.de:
http://www.javatop.de/scripte/bausteine/bausteine5.htm
Direkt das erste Beispiel sollte dir helfen.
Ich hoffe ich konnte helfen, H2O