zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden Formular dynamisch erweitern

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 17.02.2011, 14:31
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 03.08.2010
Beiträge: 47
Benutzername befindet sich auf einem aufstrebenden Ast
Standard Formular dynamisch erweitern

Servus,

habe ein Formular was ich dynamisch um eingabefelder erweitern will.
Habe mir dazu einen Codeschnipsel rausgesucht aber iwie will der nicht wie er soll :P

HTML-Code:
<script type="text/javascript">
<!--
function clone_this(objButton)
{
if(objButton.parentNode)
    {
    tmpNode=objButton.parentNode.cloneNode(true);
    objButton.form.appendChild(tmpNode);
    for(j=0;j<objButton.form.lastChild.childNodes.length;++j)
        {
        if(objButton.form.lastChild.childNodes[j].type=='text')
            {
            objButton.form.lastChild.childNodes[j].value='';
            break;
            }
        }
    objButton.value="entfernen";
    objButton.onclick=new Function('f1','this.form.removeChild(this.parentNode)');
    }
}
//-->
</script>
HTML-Code:
<fieldset>
<legend><font color="#00E566">Allgemein</font></legend>
<form action="data.php?site=Submission&amp;do=check" method="post" name="forms">
<table width="100%">
    <tr>
        <td>
            Name:
        </td>
        <td width="15%">
            <input type="text" name="name" size="20" />
        </td>
        <td>
            Submission: 
        </td>
        <td>
            <input type="text" name="Tag" size="1" maxlength="2" value="TT" />.<input type="text" name="Monat" size="1" maxlength="2" value="MM" />.20<input type="text" name="Jahr" size="1" maxlength="2" value="JJ" />
        </td>
    </tr>
    <tr>
        <td>
            Plz:
        </td>
        <td>
            <input type="text" name="plz" size="5" maxlength="5" />
        </td>
        <td>
            Ort:
        </td>
        <td>
            <input type="text" name="ort" size="25" />
        </td>
    </tr>
    <tr>
	<td align="left" colspan="2"></td>
	<td align="left">
	    Angebotsvolumen: 
	</td>
	<td align="left">
	    <input type="text" name="volumen" size="10" maxlength="8" />&nbsp;,-  €
	</td>
    </tr>
</table>
</fieldset>
<fieldset>
<legend><font color="#00E566">Inhalt</font></legend>
<table width="100%">
    <tr>
        <td width="25%">
            Rohre? <input type="checkbox" name="rohre" value="1" />
        </td>
        <td width="25%">
            Schächte? <input type="checkbox" name="schacht" value="1" />
        </td>
        <td width="25%">
            Bauwerke? <input type="checkbox" name="bauwerk" value="1" />
        </td>
        <td width="25%">
            Econorm? <input type="checkbox" name="econorm" value="1" />
        </td>
    </tr>
</table>
</fieldset>
<fieldset>
<legend><font color="#00E566">Anfragende Firma:</font></legend>
<table width="100%">
	<tr>
		<td width="40%">
			<div class="wrapSearch">
				<div id="feld">
					<input name="input[]" type="text" id="input1" size="30" maxlength="1000" onkeyup="autoSuggest(this.id, 'listWrap1', 'searchList1', 'input1', event);" onkeydown="keyBoardNav(event, this.id);" /><input type="hidden" id="adid" value="0">
				</div>
				<div class="listWrap" id="listWrap1">
					<ul class="searchList" id="searchList1">
					</ul>
				</div>
			</div>
		</td>
		<td width="40%">
			KAF: <input type="text" name="kaf[]">
		</td>
		<td width="20%" align="right" style="padding-right: 10px;">
			<a href="#" onclick="clone_this(this);"><img src="images/plus.gif" width="20" height="20" border="0"></a>
		</td>
	</tr>
</table>
<table width="100%" id="plustr">

</table>
</fieldset>
<fieldset>
<legend><font color="#00E566">Notiz hierzu:</font></legend>
<table width="100%">
    <tr>
        <td colspan="4" width="100%">
            <textarea name="notiz" cols="75" rows="5"></textarea>
        </td>
    </tr>
</table>
</fieldset>
<fieldset>
<legend><font color="#00E566">Weiterleiten</font></legend>
<table width="423">
    <tr>
	<td width="211" align="center">
	    <a href="javascript:toggle_button('MA');"><font color="blue">Submission an anderen User senden</font></a>
	</td>
	<td width="212" align="center">
	    <a href="javascript:toggle_button('zbereich');"><font color="blue">Submission an einen Bereich senden</font></a>
	</td>
    </tr>
    <tr>
	<td colspan="2">
		&nbsp;
	</td>
    </tr>
</table>
<table width="423" id="MA" style="display: none;">
    <tr>
	<td width="250" align="left">
	    Submission an folgenden Mitarbeiter schicken:
	</td>
	<td width="173" align="left">
	    <select name="sMA">
		<option value="0">Bitte wählen...</option>
<?php
$abfrage = "SELECT * FROM User";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
   {
?>
<option value="<?php echo $row->IDuser; ?>"><?php echo $row->kurz; ?> - <?php echo $vname; ?> <?php echo $row->nname; ?> - <?php echo $row->zbereich; ?></option>
<?php 
   }
?>
	    </select>
	</td>
    </tr>
</table>
<table width="423" id="zbereich" style="display: none;">
    <tr>
	<td width="343" align="left">
	    Submission an alle Mitarbeiter aus folgendem Bereich schicken:
	</td>
	<td width="80" align="left">
	    <select name="bMA">
		<option value="0">Bitte wählen...</option>
<?php
$abfrage = "SELECT * FROM region";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
   {
?>
<option value="<?php echo $row->region; ?>"><?php echo $row->region; ?></option>
<?php 
   }
?>
	    </select>
	</td>
    </tr>
</table>
</fieldset>
<table width="423">
    <tr>
        <td>
            <div align="center"><input type="submit" name="check" value="Weiter!" /></div>
        </td>
    </tr>
</table>
</form>
Firebug sagt mir dann:
objButton.form is undefined
[Bei diesem Fehler anhalten] objButton.form.appendChild(tmpNode);
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 17.02.2011, 16:00
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Ein Link ist nicht Teil eines Formulars. Wenn du ein Formularelement nimmst könnte es klappen.
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 18.02.2011, 12:32
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 03.08.2010
Beiträge: 47
Benutzername befindet sich auf einem aufstrebenden Ast
Standard

Danke schonmal, hab es nun als button eingefügt und es klappt.

Nächstes Problem

HTML-Code:
<script type="text/javascript">
<!--
function clone_this(objButton)
{
if(objButton.parentNode)
    {
    tmpNode=objButton.parentNode.parentNode.cloneNode(true);
    document.getElementById('plustr').appendChild(tmpNode);
    for(j=0;j<objButton.form.lastChild.childNodes.length;++j)
        {
        if(objButton.form.lastChild.childNodes[j].type=='text')
            {
            objButton.form.lastChild.childNodes[j].value='';
            break;
            }
        }
    objButton.value="entfernen";
    objButton.onclick=new Function('f1','this.form.removeChild(this.parentNode)');
    }
return false;
}
//-->
</script>
Mit diesem Code kopiert er mir die komplette Zeile an die richtige Stelle.
Wunderbar - aber:

HTML-Code:
	<tr>
		<td width="40%">
			<div class="wrapSearch">
				<div id="feld">
					<input name="input[]" type="text" id="input1" size="30" maxlength="1000" onkeyup="autoSuggest(this.id, 'listWrap1', 'searchList1', 'input1', event);" onkeydown="keyBoardNav(event, this.id);" /><input type="hidden" id="adid" value="0" autocomplete="off">
				</div>
				<div class="listWrap" id="listWrap1">
					<ul class="searchList" id="searchList1">
					</ul>
				</div>
			</div>
		</td>
		<td width="40%">
			KAF: <input type="text" name="kaf[]" autocomplete="off">
		</td>
		<td width="20%" align="right" style="padding-right: 10px;">
			<input type="image" src="http://xhtmlforum.de/images/plus.gif" width="20" height="20" alt="Absenden" onclick="clone_this(this); return false;">
		</td>
	</tr>
Die Events mit der Searchlist klappen trotzdem nur im erstem eingabefeld, in den geclonten Feldern nicht...
Warum?

Nachtrag:
Ich denke es liegt an den Id`s aber wie bekomme ich dann variable oder ebendrum geändert..

Geändert von Benutzername (18.02.2011 um 12:40 Uhr)
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
AJAX - Formular erweitern TobyZ23NM8 Javascript & Ajax 3 04.09.2010 12:48
IE 8 verschiebt das Design nach Formular DonQui (X)HTML 1 24.07.2009 22:30
Formular padding Problem im IE 7 unic CSS 8 18.01.2009 14:12
Daten via Link an Formular übergeben Sukkulent Serveradministration und serverseitige Scripte 6 02.06.2007 16:49
Javascript-Funktion dynamisch erweitern edc Javascript & Ajax 1 06.01.2007 14:46


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:59 Uhr.