webForumDet fria alternativet

Kopiera textfältsinfo till nästa

1 svar · 156 visningar · startad av - Henke -

- Henke -Medlem sedan jan. 200229 inlägg
#1

Hej!

Jag har skrivit en kodsnutt som jag inte alls är nöjd med eftersom den säkerligen går att skriva mycket smartare. Mina kunskaper inom JavaScript är inte de bästa och hade varit glad om någon kunde hjälpa mig.

Skriptet är till för att man ska kunna skriva in en adress och kunna ange en annan/samma fakturaadress när man beställer. Det hela ska fungera så att man ska kunna klicka på en länk som säger "Kopiera adressen från fälten ovan".

Just nu ser koden ut som följer:

<script type="text/javascript">
function CopyMe(siffra, siffra2)
{
	document.getElementById(siffra+'mail').value=document.getElementById(siffra2+'mail').value;
	document.getElementById(siffra+'company').value=document.getElementById(siffra2+'company').value;
	document.getElementById(siffra+'firstname').value=document.getElementById(siffra2+'firstname').value;
	document.getElementById(siffra+'lastname').value=document.getElementById(siffra2+'lastname').value;
	document.getElementById(siffra+'title').value=document.getElementById(siffra2+'title').value;
	document.getElementById(siffra+'adress1').value=document.getElementById(siffra2+'adress1').value;
	document.getElementById(siffra+'adress2').value=document.getElementById(siffra2+'adress2').value;
	document.getElementById(siffra+'city').value=document.getElementById(siffra2+'city').value;
	document.getElementById(siffra+'zip').value=document.getElementById(siffra2+'zip').value;
	document.getElementById(siffra+'phone').value=document.getElementById(siffra2+'phone').value;
	document.getElementById(siffra+'fax').value=document.getElementById(siffra2+'fax').value;
	document.getElementById(siffra+'country').value=document.getElementById(siffra2+'country').value;
}
</script>

<FORM METHOD="post" ACTION="adress.asp" NAME="info">

<TABLE BORDER="0" CELLSPACING="2" CELLPADDING="0" WIDTH="485">
	<TR><TD COLSPAN="2"><B>Leveransadress</B></TD></TR>
	<TR><TD>E-postadress:</TD><TD><input type="text" name="1mail" ID="1mail"></TD></TR>
	<TR><TD>Företag:</TD><TD><input type="text" name="1company"></TD></TR>
	<TR><TD>Förnamn:</TD><TD><input type="text" name="1firstname"></TD></TR>
	<TR><TD>Efternamn:</TD><TD><input type="text" name="1lastname"></TD></TR>
	<TR><TD>Titel:</TD><TD><input type="text" name="1title"></TD></TR>
	<TR><TD>Adress1:</TD><TD><input type="text" name="1adress1"></TD></TR>
	<TR><TD>Adress2:</TD><TD><input type="text" name="1adress2"></TD></TR>
	<TR><TD>Ort:</TD><TD><input type="text" name="1city"></TD></TR>
	<TR><TD>Postnr:</TD><TD><input type="text" name="1zip"></TD></TR>
	<TR><TD>Tele:</TD><TD><input type="text" name="1phone"></TD></TR>
	<TR><TD>Fax:</TD><TD><input type="text" name="1fax"></TD></TR>
	<TR><TD>Land:</TD><TD><input type="text" name="1country"></TD></TR>
</TABLE>

<TABLE BORDER="0" CELLSPACING="2" CELLPADDING="0" WIDTH="485">
	<TR><TD COLSPAN="2"><B>Fakturaadress</B><a href="#" onclick="CopyMe(2,1)";>Samma som ovan</a></TD></TR>
	<TR><TD>E-postadress:</TD><TD><input type="text" name="2mail" ID="2mail"></TD></TR>
	<TR><TD>Företag:</TD><TD><input type="text" name="2company"></TD></TR>
	<TR><TD>Förnamn:</TD><TD><input type="text" name="2firstname"></TD></TR>
	<TR><TD>Efternamn:</TD><TD><input type="text" name="2lastname"></TD></TR>
	<TR><TD>Titel:</TD><TD><input type="text" name="2title"></TD></TR>
	<TR><TD>Adress1:</TD><TD><input type="text" name="2adress1"></TD></TR>
	<TR><TD>Adress2:</TD><TD><input type="text" name="2adress2"></TD></TR>
	<TR><TD>Ort:</TD><TD><input type="text" name="2city"></TD></TR>
	<TR><TD>Postnr:</TD><TD><input type="text" name="2zip"></TD></TR>
	<TR><TD>Tele:</TD><TD><input type="text" name="2phone"></TD></TR>
	<TR><TD>Fax:</TD><TD><input type="text" name="2fax"></TD></TR>
	<TR><TD>Land:</TD><TD><input type="text" name="2country"></TD></TR>
</TABLE>

<INPUT TYPE="submit" VALUE="skicka">
</FORM>

Skulle även vilja att man skulle kunna använda (oändligt?!?) med formulär som man kan kopiera ovanstående formulärsinformation till. Så att man slipper vara bunden till just 2 stycken exempelvis.

Om jag uttrycker mig luddigt så får ni gärna säga till.

dectgapMedlem sedan sep. 20021 655 inlägg
#2

Det jag skulle kunna tänka mig att ändra är följande:

<script type="text/javascript">
function CopyMe(fromForm, toForm, fromSiffra, toSiffra)
{

var fields = new Array('mail', 'company', 'firstname', 'lastname', 'title', 'adress1', 'adress2', 'city', 'zip', 'phone', 'fax', 'country');

i = fields.length;

while(i-->0){
    toForm.elements[toSiffra+fields[i]].value=fromForm.elements[fromSiffra+fields[i]].value;
}
}
</script>

<FORM METHOD="post" ACTION="adress.asp" NAME="info">

<TABLE BORDER="0" CELLSPACING="2" CELLPADDING="0" WIDTH="485">
	<TR><TD COLSPAN="2"><B>Leveransadress</B></TD></TR>
	<TR><TD>E-postadress:</TD><TD><input type="text" name="1mail" ID="1mail"></TD></TR>
	<TR><TD>Företag:</TD><TD><input type="text" name="1company"></TD></TR>
	<TR><TD>Förnamn:</TD><TD><input type="text" name="1firstname"></TD></TR>
	<TR><TD>Efternamn:</TD><TD><input type="text" name="1lastname"></TD></TR>
	<TR><TD>Titel:</TD><TD><input type="text" name="1title"></TD></TR>
	<TR><TD>Adress1:</TD><TD><input type="text" name="1adress1"></TD></TR>
	<TR><TD>Adress2:</TD><TD><input type="text" name="1adress2"></TD></TR>
	<TR><TD>Ort:</TD><TD><input type="text" name="1city"></TD></TR>
	<TR><TD>Postnr:</TD><TD><input type="text" name="1zip"></TD></TR>
	<TR><TD>Tele:</TD><TD><input type="text" name="1phone"></TD></TR>
	<TR><TD>Fax:</TD><TD><input type="text" name="1fax"></TD></TR>
	<TR><TD>Land:</TD><TD><input type="text" name="1country"></TD></TR>
</TABLE>

<TABLE BORDER="0" CELLSPACING="2" CELLPADDING="0" WIDTH="485">
	<TR><TD COLSPAN="2"><B>Fakturaadress</B><a href="#" onclick="CopyMe(document.forms['info'], document.forms['info'],1,2)";>Samma som ovan</a></TD></TR>
	<TR><TD>E-postadress:</TD><TD><input type="text" name="2mail" ID="2mail"></TD></TR>
	<TR><TD>Företag:</TD><TD><input type="text" name="2company"></TD></TR>
	<TR><TD>Förnamn:</TD><TD><input type="text" name="2firstname"></TD></TR>
	<TR><TD>Efternamn:</TD><TD><input type="text" name="2lastname"></TD></TR>
	<TR><TD>Titel:</TD><TD><input type="text" name="2title"></TD></TR>
	<TR><TD>Adress1:</TD><TD><input type="text" name="2adress1"></TD></TR>
	<TR><TD>Adress2:</TD><TD><input type="text" name="2adress2"></TD></TR>
	<TR><TD>Ort:</TD><TD><input type="text" name="2city"></TD></TR>
	<TR><TD>Postnr:</TD><TD><input type="text" name="2zip"></TD></TR>
	<TR><TD>Tele:</TD><TD><input type="text" name="2phone"></TD></TR>
	<TR><TD>Fax:</TD><TD><input type="text" name="2fax"></TD></TR>
	<TR><TD>Land:</TD><TD><input type="text" name="2country"></TD></TR>
</TABLE>

<INPUT TYPE="submit" VALUE="skicka">
</FORM>

Lägger du till fler fält får du lägga till dem i arrayn fields, och vill du ändra andra formulär ändrar du bara det i funktionsanropet, t.ex. CopyMe(document.forms['info'], document.forms['ett_annat_formulärsnamn'], 1,1);

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)