ReadOnly deaktivieren

  • Hallo zusammen

    Ich habe ein Problem wofür ich keine Lösung finde und auch durch Suchen nicht weiter gekommen bin.
    Ich habe eine Tabelle voller Textfelder die ReadOnly sind. Nun gibt es einen Editbutton der onclick eine Javascript Funktion aufrufen soll die das ReadOnly deaktivieren soll. Leider gibt es wie ich schon mehrmals gelesen habe für das ReadOnly nur true und kein false...
    Was ich mir nun überlegt habe wäre 2 verschiedene Elemente zu erstellen. Eines davon type=hidden und nicht ReadOnly das andere type=text und ReadOnly. Jetzt soll eine Javascript Funktion die beiden Eigenschaften von type vertauschen. So dass jetzt das type=hidden in type=text und umgekehrt geändert wird.

    Leider habe ich aber nur sehr beschränkt Ahnung von Javascript und komme nicht weiter.
    Habs schon mit document.FORMNAME.getElementsByTagName usw. versucht aber bin bisher nicht weitergekommen. Auch wenn es wahrscheinlich Javascript Grundlagen wären...

    Bitte helft mir ;)

  • ja dann gib doch mal den code her, den du bisher hast :)

    und es reicht wenn du document.getElementsByTagName nimmst, das liefert dir dann ein array mit den entsprechenden elementen zurück.

    aber wie gehabt, schmeiss ma deinen code inne runde ich schaus mir dann an :)

  • Gibt es hier im Forum eine Möglichkeit Code übersichtlich zu Posten? Weil keine Tabulatoren(oder wie die heissen ;)) gemacht werden können und somit mein Code unlesbar ist...

  • Du hast durch suchen nichts gefunden? lol^^
    Google: JavaScript onclick readonly deaktivieren
    Dann das erste Ergebnis auswählen, und du erhälst folgenden Code:

    Der ist sogar nocht erweitert. In deinem Fall müsstest du nur die "remove_readonly();" kopieren.

    Greez und morgen dann schöne Weihnachten =D

    Frauen lügen nie, selbst wenn sie die Wahrheit nur erfinden müssen.
    Leute die mit gidf antworten wollen, sollten lieber gar nicht antworten. -> http://www.google.de/search?q=xyz tuts auch. :rolleyes:

  • Also ich habs jetzt mal so probiert:

    Code
    [align=left][size=10]function editfu()[/SIZE]
    [size=10]{[/SIZE]
    [size=10]document.bbForm.getElementsByTagName('domain').removeAttribute('readOnly');[/SIZE]
    [size=10]document.bbForm.getElementsByTagName('username').removeAttribute('readOnly');[/SIZE]
    [size=10][COLOR=#0000ff][size=10][COLOR=#0000ff]document.bbForm.getElementsByTagName('description').removeAttribute('[COLOR=#000000]readOnly[/COLOR]');[/COLOR][/SIZE]
    [size=10][COLOR=#0000ff]document.bbForm.getElementsByTagName('password').removeAttribute('readOnly');[/COLOR][/SIZE][/align]
    [size=10][COLOR=#0000ff]}[/COLOR][/SIZE]
    [/COLOR][/SIZE]



    Es gibt ne Fehlermeldung aus: Object Expected
    Kann mir jemand erklären wiso?

  • Ok hat endlich geklappt ;)

    und zwar so:

    Code
    [size=10]
    [align=left]function editfu()
    {
    document.getElementById('domain').removeAttribute('readOnly');
    document.getElementById('username').removeAttribute('readOnly');
    document.getElementById('description').removeAttribute('readOnly');[/align]
    [/SIZE][size=10][COLOR=#0000ff][size=10][COLOR=#0000ff][align=left]document.getElementById('password').removeAttribute('readOnly');[/align]
    }
    [/COLOR][/SIZE][/COLOR][/SIZE]



    Danke an euch beide ;)

  • Da wir ja deinen Code noch immer nicht kennen:
    Offenbar willst du bei allen gleichzeitig das readonly entfernen, da wäre es ja einfacher einfach bei allen objekten bei denen das readonly entfernt werden soll z.B. ein "id='readonly' hinzuzufügen - und dann entsprechend beim button:
    onclick="document.getElementsById('readonly').removeAttribute('readOnly');"

    Greez

    Frauen lügen nie, selbst wenn sie die Wahrheit nur erfinden müssen.
    Leute die mit gidf antworten wollen, sollten lieber gar nicht antworten. -> http://www.google.de/search?q=xyz tuts auch. :rolleyes:

  • Dann aber ne Klasse, denn eine ID darfst du nur einmal vergeben ;)
    Sonst kannst du auch alle Elemente abklappern durch eine for-Schleife und schauen, da wo das readonly steht, da entfernen ;)

  • Aber am besten ist es, den Bereich der Tags auf irgendeine Weise einzugrenzen, sonst läuft die Schleife jedes mögliche Element ab und stürzt vielleicht den Browser ab oder hat einfach verdammt lange.
    Aber wenns nicht so viele Elemente sind, machs lieber auf die Variante mit den einzelnen Tags anzusprechen.

    anagramm:
    Nö, hab 8 Minuten nach deinem gesendet, war nur eine Korrektur wegen den Klasse und halt noch eine andere Möglichkeit.

  • 5 Minuten länger nenn ich nicht gleichzeitig ;)
    Aber gut, hab gedacht, ach ist doch egal, passt nicht mehr zum Thema, das is Spam..

    Würd gern hören, was der Threadersteller dazu sagt, ob das geholfen hat oder nicht.

  • Er hat doch schon gesagt das es ihm geholfen hat :D

    Das ist eben der Post den wir (Mr.Bier und ich) gleichzeitig absendeten.

    In Post #8 sagte er, dass es gut ging. :D

    Frauen lügen nie, selbst wenn sie die Wahrheit nur erfinden müssen.
    Leute die mit gidf antworten wollen, sollten lieber gar nicht antworten. -> http://www.google.de/search?q=xyz tuts auch. :rolleyes:

  • Mir ist es ja wurscht, aber 12:37 Uhr und 13:37 Uhr ist für mich noch nicht mal annähernd zeitgleich.

  • ein posting von dir hab ich gelöscht anagramm, weil du es ja bereits wegen eines vorhergegangenen editierens als überflüssig gekennzeichnet hattest!
    des war um 12:27Uhr und nu schluss mit rumbabbeln, wartet infach alle auf den TE ob er noch was hat!!

  • Ne for-schleife is schlecht. Wärend ne for schleife läuft, geht nämlich nix, also is eine while() besser. Und ich kann dir sagen, warum dein erstes Beispiel nicht geklappt hat, nur so für die Zukunft:
    getElementsByTagName(); liefer ein Array zurück, sonst müsste es ja getElementByTagName(); heissen. Und mit ElementByTag.. wäre auch nciht viel geholfen. Bei dir müsste es also heissen:
    getElementsByTagName('password')[0].....

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!