[javascript problem] wie vergebe ich via setAttribute einem input einen namen?

  1. freaksta

    freaksta Thread StarterMacUser Mitglied

    Mitglied seit:
    22.02.2007
    Beiträge:
    43
    Zustimmungen:
    0
    hallo!

    also ich habe hier ein formular. im Prinzip läuft dieses system mit php4. allerdings wollte ich gerne gewisse sachen über javascript regeln. zum einen ist das die auswahl von gewissen textelementen (funktioniert einwandfrei schon in js) über radio buttons.

    zum anderen können noch via buttons einzelne eingabefelder zu den einzelnen bereichen hinzugefügt oder weggenommen werden.

    also verdeutlichung habe ich euch hier mal 2 scrennies gemacht, das ihr euch das auch vorstellen könnt:

    http://soundscientists.de/forum/screen1.JPG
    http://soundscientists.de/forum/screen2.JPG

    also es funktioniert alles, will ich allerdings den eingabefeldern einen namen mithinzufügen über setAttribute, dann macht er mir immer einen fehler...die inputfields werden quasi in ein <ui> feld gepackt mit der id "partTwo"...

    hier ist mal der code:

    Code:
       	function setNewField(targetId) {	
       	
       		  var index = "";
       	
       		  if (targetId == "appendFirst") {
       		  		firstCount++;
     
     				index = targetId + firstCount;
       		  
       		  } else if (targetId == "appendSecond") {
       		  		secondCount++;
       		  		
       		  		index = targetId + secondCount;
       		  }
       	
       		  
       	
    	      for(var i=0; i<1; i++)
    		  {
    			  var li1 = document.createElement("li");
    			  var input1 = document.createElement("input");
    			  input1.style.width = "322px";
    			  var brk = document.createElement("br");
    			  li1.appendChild(input1);
    			  li1.appendChild(brk);
    			  document.getElementById(targetId).appendChild(li1);
    			  input1.setAttribute("name", index);
    		  }
    		   
       	}
    
    nun ist es natürlich so, das mir das alles bisher nichts bringt wenn ich nicht weiss wie ich den eingabefeldern auch den namen geben kann...sonst kann ich ja die posts nicht auslesen....

    ...also wenn da jmd ne idee hat wärs echt super, wenn er sich dazu äussern könnte!

    vielen dank schonmal!
     
    freaksta, 28.02.2007
  2. b.legt210

    b.legt210MacUser Mitglied

    Mitglied seit:
    01.03.2006
    Beiträge:
    81
    Zustimmungen:
    4
    Wie wäre es wenn du dem Element erst sein Attribut "name" gibst und es danach dem document zuweist?
     
    b.legt210, 28.02.2007
  3. freaksta

    freaksta Thread StarterMacUser Mitglied

    Mitglied seit:
    22.02.2007
    Beiträge:
    43
    Zustimmungen:
    0
    gleiches spiel geht deswegen auch nicht...hab ich als erstes schon versucht. dann hat ein freund gemeint (der sich eig in sachen js und ajax relativ gut auskennt) das manche es leiber haben wenn dus danach machst...hörte sich für mich auch komisch an, weil normal is ja der weg anders rum...naja, auf jedenfall gehts auf deinen vorgeschlagenen weg auch nicht...

    ich finde das sehr seltsam warum das nicht geht...einen anderen weg gibts ja wohl nicht den namen zu vergeben odeR?
     
    freaksta, 28.02.2007
  4. b.legt210

    b.legt210MacUser Mitglied

    Mitglied seit:
    01.03.2006
    Beiträge:
    81
    Zustimmungen:
    4
    und wo wird deine Variable index initialisiert? Außerhalb des hier geposteten Ausschnitts nehme ich an.

    Also das: input1.setAttribute("name", index);
     
    b.legt210, 28.02.2007
  5. freaksta

    freaksta Thread StarterMacUser Mitglied

    Mitglied seit:
    22.02.2007
    Beiträge:
    43
    Zustimmungen:
    0
    ne, die ist ja direkt unter dem funktionsrumpf gleich.

    bin jetzt schon soweit gekommen das er da alles durchmacht und wenn ich am ende der funktion dann folgendes schreibe:

    Code:
    		var node = document.getElementById(targetId).lastChild;  
    		
    		alert("indexinhalt: " + node.getAttribute("name")); 
    
    dann sagt er mir das sei null...alleridings steht in der variable index ja was drin...das hab ichs chon mehrmals getestet via alert
     
    freaksta, 28.02.2007
  6. Marzelpan

    MarzelpanMacUser Mitglied

    Mitglied seit:
    31.10.2003
    Beiträge:
    58
    Zustimmungen:
    0
    Hi,
    initialisierst Du auch irgendwo firstCount und secondCount auf 0? Dann funktioniert das nämlich wunderbar.

    Marcel
     
    Marzelpan, 01.03.2007
  7. freaksta

    freaksta Thread StarterMacUser Mitglied

    Mitglied seit:
    22.02.2007
    Beiträge:
    43
    Zustimmungen:
    0
    ja, die sind global für diese seite initialisiert...jeder sagt das müsste eigentich hinhaun, aber warum zum geier bekomm ich da null...

    hmhm...ich weiss nicht...ich muss das heute nochmal ausgiebig testen, evtl setzt der ja eh die namen richtig...
     
    freaksta, 01.03.2007
  8. Marzelpan

    MarzelpanMacUser Mitglied

    Mitglied seit:
    31.10.2003
    Beiträge:
    58
    Zustimmungen:
    0
    Kennst Du Firebug für Firefox? Das ist ein netter Javascript-Debugger und DOM-Browser. Damit könntest Du Deinen Javascript-Code schrittweise durchgehen - hat mir schon sehr geholfen.

    Marcel
     
    Marzelpan, 01.03.2007
  9. freaksta

    freaksta Thread StarterMacUser Mitglied

    Mitglied seit:
    22.02.2007
    Beiträge:
    43
    Zustimmungen:
    0
    jo, dabei hab ich schon so manchen fehler entdeckt mit dem! der ist echt weltklasse dafür...der meckert aber auch nicht...nur er tuts einfach ned wie er soll...

    aber ihr seht doch da nun auch keinen fehler darin spontan oder?
     
    freaksta, 01.03.2007
  10. freaksta

    freaksta Thread StarterMacUser Mitglied

    Mitglied seit:
    22.02.2007
    Beiträge:
    43
    Zustimmungen:
    0
    so...habs nun endlich rausbekommen...hatte nen simplen schreibfehler in der php page danach...und somit hatte ich nen falschen post namen...und das wegen dem null bei der attribut abfrage hat mich dann ganz kirre gemacht...

    nichts desto trotz bin ich nun auch drauf gekommen wie man aus dem node das mit dem namen etc pp rausbekommen! kann für alle dies noch interessiert:

    der node besteht ja in meinem fall aus mehreren html tags, dh er selber hat natürlich kein solches attribut (hät mir auch vorher klar sein müssen).

    man muss anstelle des getAttribute(bla) nur unten stehenden code machen, und er gibt dir das aus was in dem node steht (eig schon zu simpel um wahr zu sein):

    Code:
    alert("nodeinhalt" + node.innerHTML);
    
    bitte dieses thema closen!

    danke nochmal an alle poster!
     
    freaksta, 01.03.2007
Die Seite wird geladen...
Ähnliche Themen - [javascript problem] vergebe
  1. nicoch
    Antworten:
    2
    Aufrufe:
    284
  2. beatles
    Antworten:
    11
    Aufrufe:
    510
    beatles
    24.02.2017
  3. LabSen
    Antworten:
    2
    Aufrufe:
    909
  4. ThaHammer
    Antworten:
    14
    Aufrufe:
    809
    ThaHammer
    08.12.2007
  5. simusch
    Antworten:
    1
    Aufrufe:
    556
    koli.bri
    24.11.2007