Patricia: mit "clear" nur definierte Form-Elemente löschen

Hallo,
ich habe ein Formular, mit einem value="clear"-button.
Leider möchte ich mit diesem Button nicht alle Formelements-Inhalte löschen, sondern nur explizit ein paar.
Ich konnte leider keine Infos/Skripte dazu finden.
Geht das überhaupt?
Wenn ja wie??
vielen Dank
Patricia

  1. Hallo,
    ja, aber leider nur mit JavaScript.

    <script type="text/javascript">
    <!--
    function clear() // das zweite Element wird nicht zurückgesetzt
    {
       // Die Indizies geben an, ob das jeweilige Element wieder zurückgesetzt werden soll
       rel = new Array(); // rel = reset element
       rel[0] = true;
       rel[1] = false;
       rel[2] = true;

    for (int i = 0; i < rel.length; i++)
       {
          if (rel[i])
             document.forms[0].elements[i].value = document.forms[0].elements[i].defaultValue;
       }
    }
    //-->
    </script>

    <form>
    <input type="text">
    <!-- Wird nicht zurueckgesetzt //-->
    <input type="text">
    <input type="checkbox" checked="checked">
    </form>

    Etwas eleganter ist es, die Information mit den Elementen abzuspeichern, z. B. im value bereich. Man könnte sich drauf einigen, dass wenn value mit einem Unterstrich '_' beginnt, dass dann das Element NICHT zurückgesetzt werden muss.

    Dann sähe die Funktion aus:

    function clear()
    {
       for (int i = 0; i < document.forms[0].length; i++)
          if (document.forms[0].elements[i].value.length == 0 || document.forms[0].elements[i].value.charAt(0) != '_')
             document.forms[0].elements[i].value = document.forms[0].elements[i].defaultValue;
    }

    <form>
    <input type="text" value="Name">
    <!-- Wird nicht zurueckgesetzt //-->
    <input type="text" value="_http://">
    <input type="checkbox" checked="checked">
    </form>

    Die zweite Variante hat zum Nachteil, dass die value-Werte für den Benutzer und vielleicht sogar für das CGI-Programm unnötige Unterstriche enthalten.

    Jetzt ist es mir eingefallen, dass man mit  with  einen etwas sauberen hätte ... bin aber zu faul, um die zu ändern.

    Mit freundlichen Grüßen
       Dimitri Rettig