Hallo zusammen,
ich habe 3 fast identische Formulare, die möglicherweise identischen Inhalt aufweisen können. Soll der Inhalt des bspw. zweiten Formulars identisch sein, möchte ich mit einem Klick auf einen Link die Daten des ersten ins zweite einfügen. So weit zur Theorie...
Nun habe ich folgende Funktionen:
function copyFormData (sSource,sTarget) {
var y = document.forms[sSource +'Form'].elements;
for(i = 0; i < y.length; i++) {
if(document.getElementById(y[i].id)) {
newid = str_replace(sSource,sTarget,y[i].id);
document.getElementById(newid).value = y[i].value;
//alert(str_replace(sSource,sTarget,y[i].id));
//break;
}
}
}
function str_replace (search, replace, subject) {
var result = "";
var oldi = 0;
for (i = subject.indexOf (search); i > -1; i = subject.indexOf (search, i)) {
result += subject.substring (oldi, i);
result += replace;
i += search.length;
oldi = i;
}
return result + subject.substring (oldi, subject.length);
}
Diese werden wie folgt aufgerufen:
<a href="#" onclick="copyFormData('orderer','shipping');return false;">klick</a>
Dummerweise bekomme ich den Fehler (Firebug)
Index or size is negative or greater than the allowed amount" code: "1
und kann ihn mir nicht erklären :( Das Alert gibt mir die richtige ID aus...
Die Funktion str_replace stammt übrigens nicht von mir...
Hat jemand da eine Idee?
Gruß,
Manu