webForumDet fria alternativet
Logga in / Bli medlem

Kopiera textfältsinfo till nästa

JavaScript

1 svar · 158 visningar · startad av - Henke -

Medlem sedan jan. 200229 inlägg
Trådstart#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.

Medlem 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);

258 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)