Mssmar: Textfeld-Value dynamisch ausfüllen und leeren

Beitrag lesen

Hallo,

Ich fülle den value eines Text-Feldes und leere ich es dynamisch, je nachdem ob ein Checkbox aktiviert ist oder nicht. Den Value des Text-Feldes fülle ich mit dem Alt-Inhalt des Checkboxes.

Wenn ich zwei Checkboxen, die den gleichen Wert im alt-attribute haben,  z.B

  
<input type="checkbox" name="autoModel" alt="9191" value="Renault11">  
<input type="checkbox" name="autoModel" alt="9191" value="Renault Clio">  
<input type="checkbox" name="automodel" alt="0202" value="Golf 3">  

und ich die zwei auswähle, dann habe ich zwei Mal "9191" in dem Value des Textfeldes. Aber das habe ich gelöst mit:

  
if (fieldGid == 'Audi' && objCheckbox.form.gidAudi.value ==""){  
document.getElementById('gidAudi').value = document.getElementById('gidAudi').value + objCheckbox.alt;  
}  

Was ich nicht lösen kann ist, wenn der User am Anfang beide Checkboxen für Renault aktiviert, dann steht im Textfeld "9191", aber dann will er nur ein Modell vom Renault haben und deaktiviert einen der beiden Checkboxes (und hier kommt es), dann wird der Value des Textfeldes geleert, was nicht passieren darf.

Der Value des Textfeldes darf leer sein, nur wenn keiner von beiden der Renault-Cheboxen
aktiviert ist.

Das Problem taucht auf nur, wenn der User zunächst beide Renault-Checkboxen aktiviert und plötzlich sich doch nur für einen entscheidet und den anderen Checkbox deaktiviert.

Kann mir bitte Jemand helfen?

Ich hoffe, dass ich das Problem verständlich beschrieben habe. Es fehlt mir offen gesagt
nicht einfach es zu beschreiben. dafür möchte ich schon mal entschuldigen.

Danke und Gruß
Messmar

JavaScript-Code:

  
function modifyField(objCheckbox){  
  
 var fieldGid = objCheckbox.title;  
  
 if(objCheckbox.checked){  
  objCheckbox.form.choosenCar.value = objCheckbox.form.choosenCar.value + objCheckbox.value + ','  
  
  if (fieldGid == 'Audi' && objCheckbox.form.gidVw.value ==""){  
   document.getElementById('gidAudi').value = document.getElementById('gidAudi').value + objCheckbox.alt;  
  }  
  if (fieldGid == 'VW' && objCheckbox.form.gidVw.value ==""){  
   document.getElementById('gidVw').value = document.getElementById('gidVw').value + objCheckbox.alt;  
  }  
 }else{  
  objCheckbox.form.choosenCar.value = objCheckbox.form.choosenCar.value.replace(eval("/"+objCheckbox.value+",/g"), "");  
  
  if (fieldGid == 'Audi'){  
   document.getElementById('gidAudi').value = document.getElementById('gidAudi').value.replace(eval(objCheckbox.alt), "");  
  }  
  if (fieldGid == 'VW'){  
   document.getElementById('gidVw').value = document.getElementById('gidVw').value.replace(eval(objCheckbox.alt), "");  
  }  
 }  
}