• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Neue Zeile ins Div einfügen und Werte übernehmen

Status
Für weitere Antworten geschlossen.

andreG

Neues Mitglied
Hi @ all,
ich finde meinen Denkfehler net.
Habe folgendes Script:
Code:
<script type="text/javascript">

function add_direct_order_line(orderid, id) {
    id2= (Number(id)+ 1);
    //document.write(Ausgabe);
    alert(document.getElementById('menge_' +id).value);
    for (zahl=0; zahl < id2; zahl++){
        var content = document.getElementById('menge_' +id).value;
        document.getElementById('menge_' +id).innerhtml = content;
        //document.getElementById('menge_' +id).value = document.getElementById('menge_' +id).value;
        var content2 = document.getElementById('bestellnr_' +id).value;
        document.getElementById('bestellnr_' +id).innerhtml = content;
    }
    
    textcheck=get_value_menge_bestellnr(id);
    
    if (textcheck >''){
        document.getElementById(orderid).innerHTML +=  '<div_direct_order_' +id2 + '><table width="100%" border="0" cellpadding="2" cellspacing="0"><tr id="new_offer_id_' + id2 +'">\r<td style="padding-left:10px;" align="left" class=main>\r<input id="bestellnr_' + id2 +'" type="text" size="12"></td>\r<td style="padding-right:10px;" align="right" class=main><input onClick="add_direct_order_line(\'div_direct_order_0\',\'' + id2 + '\')" id="menge_'+ id2 + '" type="text" size="3"></td>\r<td style="padding-right:10px;" align="right" class=main></td>\r</tr></table></div>';
    }
}


</script>
hier wird der OnClick ausgelöst:
HTML:
<input onClick="add_direct_order_line(\'div_direct_order_0\',\'0\')" id="menge_0" type="text" size="3" value="">
Aber wenn der jetzt die neue DIV-Zeile hinzufügt werden die alten Text.Values nicht mit übernommen, woran liegt das?
 
kanns sein das du dich bei deinen "id"'s vertan hast?

zB hier:
Code:
var content = document.getElementById('menge_' +id).value;
        document.getElementById('menge_' +id).innerhtml = content;
Dort liest du den Value eines elementes und schreibst seinen value in sich selbst hinein???
Weis net was dir das bringt ;)

Überprüf das mal. Ob du da nich einfach id2 nehmen musst oder so
 
Ich dachte so könnte ich den value mit übergeben.
nun ja hin oder her :).

Ich habe inzwischen viel über clone nodes und so gelesen und auch gute Sachen gefunden.
Formular dynamisch erweitern. - Javascript & Ajax @ tutorials.de: Forum, Tutorial, Anleitung, Schulung & Hilfe

HTML:
<script type="text/javascript">
function clone_this(button, objid){
    // Tabelle innerhalb des DIVs mit ID "new_passage" clonen
    // Achtung: Es dürfen keine Zeichen zwischen dem DIV- und dem TABLE-Tag stehen!
    var clone_me = document.getElementById(objid).firstChild.cloneNode(true);

    // Im Parent-DIV vor dem Kindknoten "button" einhängen
    button.parentNode.insertBefore(clone_me, button);
}

function remove_this(objLink)
{
objLink.parentNode.parentNode.parentNode.parentNode.parentNode.removeChild(objLink.parentNode.parentNode.parentNode.parentNode);
}
</script>


<div style="visibility:hidden; display:none">  
  <div id="new_passage"><table name="cloneTable"> 
    <tr> 
      </td> 
      <td rowspan="2"><a href="#" onclick="javascript:remove_this(this); return false;">LÖSCHEN</a> 
      </td>    
    </tr>
    <! --<td><input  onclick="javascript:clone_this(this, 'new_passage');" type="text" name="test2[]"></input></td> -->
     <td><input type="text" name="test2[]"></input></td> 
    </tr> 
  </table></div> 
 </div> 
<div> 
  <input value="mehr" onclick="javascript:clone_this(this, 'new_passage');"  type="button"> 
  </input>  
</div>

nur ich blick da nit so ganz durch.
Ich möchte die Funktion von dem Button auslösen, wenn ich in das Textfeld2 klicke.
aber durch "insertBefore" wird dadurch die Tabelle richtig usselig...

Hast du / hat da jmd vlt nen Tipp?

Vielen Dank schonmal
 
Meine Lösung schaut so aus:

HTML:
var content2 = document.getElementById('bestellnr_' +id).value;
        document.getElementById('bestellnr_' +id).setAttribute("value",content2);

schon funtz es ;)

Trotzdem danke an alle die hier mal geschaut haben ;)
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben