Stern vom Pflichtfeld bei disabled entfernen

k3nguruh

Erfahrenes Mitglied
Hallo,

Ich würde gerne folgendes auf meiner Seite bewerkstelligen, habe aber keinen richtigen Plan. Google brachte bis jetzt auch nicht den gewünschten Erfolg.

Ich habe folgendes Formular (gekürzt):
HTML:
<form id="form1" ....>
<fieldset><legend>.....</legend>
  <div class="content">
    <div class="container">
      <div class="label"><label for="name">Stichwort</label><font class="green">*</font></div>
      <div><input style="width:200px;" id="name" type="text" name="name" value="" maxlength="30" /></div>
    </div>
  </div>
.......
</fieldset>
</form>

Sollte das INPUT-Feld deaktiviert (disabled, readonly, ...) sein, soll der Stern nach dem LABEL entfernt werden. Natürlich gibt es noch mehrere Felder in der Form ;)

Ich stelle mir das irgend wie so vor.
1. Nimm / Suche die FORM
2. Überprüfe alle SELECT, INPUT, ... Felder auf den Status
3. Wenn deaktiviert, dann entferne den Stern.


Hoffe es hinreichend erklärt zu haben.
Auch die richtigen "Begriffe" von JS (jQuery, versuche mich gerade daran) würden mir schon helfen..... So kann ich versuchen daraus etwas zu basteln.

Vielen Dank schon mal im vorraus....
 
Zuletzt bearbeitet:
Hallo kenguruh2002,

Javascript:
function checkForm() {
    if(document.getElementById('textfeldStichwort').style.disabled){
       document.getElementById('lableStichwort').innerHTML = document.getElementById('lableStichwort').innerHTML.substring(0, document.getElementById('lableStichwort').innerHTML.length-2);
    }
    else{
        document.getElementById('lableStichwort').innerHTML = document.getElementById('lableStichwort').innerHTML+"*";
    }    
}

Achtung:
  • Code ist ungetester
  • Wenn nicht disabled wird der Stern wieder hinzugefürt
  • Die angegebenen IDs mussen natürlich auch dementsprechend gesetzt werden
 
Zuletzt bearbeitet von einem Moderator:
Ich glaub, ich habe's geschafft....

HTML:
<script type="text/javascript">
$(document).ready(function() {
    $("#form1 :disabled").each(function() {
        $("label[for=" + $(this).attr('id') + "]").next().remove(":contains('*')");
    });
});
</script>

Ich werde das Thema auf erledigt setzen. Sollte es einen besseren Code geben, würde ich mich über eine Antwort freuen.
 

Neue Beiträge

Zurück