Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

JavaScript DOM dynamische Inhalte - Unterschiede FF - IE - onkeydown - RPC

Frage Entwicklung JavaScript

Mitglied: Midivirus

Midivirus (Level 2) - Jetzt verbinden

29.08.2011, aktualisiert 10:35 Uhr, 2919 Aufrufe

Guten Morgen zusammen,

ich referenziere auf einen alten Beitrag HTML JavaScript dynamische Elemente hinzufügen - Tabelle - weitere Felder - Formular - Zeilen - Zellen, welches bis dort alles wunder funktioniert.

Jetzt wurden die hinzugefügten Zeilen noch mit onkeydown ausgestattet.
Der FF interpretiert dies auch korrekt.

Hier mal eine fertige Ansicht, was der Code später auswirft:
1d7f4168f5e5957625681ab5072f8994 - Klicke auf das Bild, um es zu vergrößern

Je nach Änderungstyp wird später beim Auswahlmenü mehrere Felder mit Werten gefüllt.
Beispiel:
Soll die Bezeichnung geändert werden, wird 'Artikelbezeichnung' auch nach 'alt' kopiert.
Bei Preis bsp. gleich der aktuelle wert nach 'alt'.
(etc.)

Der Internet Explorer macht dies auch soweit mit, bis die Zeile 3 bzw. 4 erreicht wird.
Dann wird zwar noch das Auswahlfenster geöfnet und die Werte werden geändert, aber ein übernehmen mittels klick ist dann nicht mehr möglich.

Dieser Codeschnipsel steht im Body vor TABLE:
01.
<script> 
02.
$(document).ready(function(){  
03.
	counting = 1; 
04.
	$('.mehr').click(function(){ 
05.
		$("tr:last").before( 
06.
			'<TR>' + 
07.
			'<TD><SELECT name=\"lief[]\" id=\"feldlieferant'+counting+'\"><OPTION value=\"Kategorie">Kategorie</SELECT></TD>' + 
08.
			'<TD><SELECT name=typ[] id=\"aufart'+counting+'\"><OPTION value=1>Preis<OPTION value=2>Menge<OPTION value=3>Kopien - Kanbans<OPTION value=4>Lager<OPTION value=5>Bezeichnung</SELECT></TD>' + 
09.
			'<TD><INPUT type=text size=15 name=\"kdartnr[]\" id=\"arteingabe'+counting+'\" onkeyup=\"lookup(this.value,\'xxx\',\'\',\'arteingabe'+counting+'\',\'artbez'+counting+'\');\" onblur=\"fill(thisValue);\"  autocomplete=\"off\"></TD>' + 
10.
			'<TD><INPUT type=text name=kdartbez[] id=\"artbez'+counting+'\" readonly=\"true\"></TD>' + 
11.
			'<TD><INPUT type=text name=alt[] id=\"alt'+counting+'\"></TD>' + 
12.
			'<TD><INPUT type=text name=neu[] id=\"neu'+counting+'\"></TD>' + 
13.
			'<TD><INPUT type=text name=notiz[] id=\"notiz'+counting+'\"></TD>' + 
14.
			'</TR>' 
15.
		); 
16.
		document.getElementById("hinweis").style.display = "none"
17.
		counting+=1; 
18.
	}) 
19.
 
20.
 
21.
});  
22.
</script>
Zum Erstellen des Auswahlfensters:
01.
function lookup(inputString,kunde,lieferant,inputid,inputbez) { 
02.
	if(inputString.length == 0) { 
03.
		$('#suggestions').hide(); 
04.
	} else
05.
		var temp = inputid.replace("arteingabe", "feldlieferant"); 
06.
		if(lieferant.length == 0) 
07.
			lieferant = document.getElementById(temp).value; 
08.
		$.post("rpc.php?kunde="+kunde+"&lieferant="+lieferant+"&feldart="+inputid+"&feldbez="+inputbez+"&suche="+inputString+"", {queryString: ""+inputString+""}, function(data){ 
09.
			if(data.length >0) { 
10.
				$('#suggestions').show(); 
11.
				$('#autoSuggestionsList').html(data); 
12.
13.
		}); 
14.
15.
} // lookup
Zum Übernehmen der Werte in die Felder übernimmt dies:
01.
function fill(thisValue,thisBez,inputid,inputbez,inputpreis) { 
02.
	$('#'+inputid).val(thisValue); 
03.
	$('#'+inputbez).val(thisBez); 
04.
	var zeile = inputid.replace("arteingabe", "aufart"); 
05.
	document.getElementById(inputid.replace("arteingabe", "notiz")).value = ''; 
06.
	document.getElementById(inputid.replace("arteingabe", "alt")).value = ''; 
07.
	if(document.getElementById(zeile).value == 1){ 
08.
		document.getElementById(inputid.replace("arteingabe", "alt")).value = inputpreis; 
09.
		document.getElementById(inputid.replace("arteingabe", "neu")).focus(); 
10.
11.
	if(document.getElementById(zeile).value == 2 || document.getElementById(zeile).value == 3){ 
12.
		document.getElementById(inputid.replace("arteingabe", "notiz")).value = 'HIER weiteres definieren!'; 
13.
		document.getElementById(inputid.replace("arteingabe", "notiz")).select(); 
14.
15.
	if(document.getElementById(zeile).value == 5){ 
16.
		document.getElementById(inputid.replace("arteingabe", "alt")).value = thisBez; 
17.
		document.getElementById(inputid.replace("arteingabe", "neu")).focus(); 
18.
19.
	setTimeout("$('#suggestions').hide();", 0); 
20.
	alert(zeile); 
21.
	return true; 
22.
}
Die Fehlerkonsole zeigt mir zwar ein paar fehlerhafte Zeilen, allerdings in Bereichen, wo ich nichts vermute:
Details zum Fehler auf der Webseite
Benutzer-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2) 
Zeitstempel: Mon, 29 Aug 2011 08:31:34 UTC 
 
Meldung: Nicht abgeschlossene Zeichenfolgenkonstante 
Zeile: 1 
Zeichen: 34 
Code: 0 
URI: http:// 
 
Meldung: "thisValue" ist undefiniert 
Zeile: 1 
Zeichen: 1 
Code: 0 
URI: http://
Gibt es eine etwaige Erklärung, weshalb meistens bei der dritten Zeile dann die fill() einfach nichts mehr macht?
Ähnliche Inhalte
Exchange Server
gelöst Exchange 2013 dynamische Verteilergruppe anlegen per Powershell (6)

Frage von blackhawk17 zum Thema Exchange Server ...

LAN, WAN, Wireless
gelöst Dynamische IPv6 (ISP) und Statische IPv6-Adressen (LAN) unter einen Hut bringen (5)

Frage von ketanest112 zum Thema LAN, WAN, Wireless ...

Exchange Server
gelöst Dynamische Verteilerliste nach Domain filtern (2)

Frage von blackhawk17 zum Thema Exchange Server ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Exchange Server
Microsoft Exchange Weiterleitung mit anderer primären E-Mail Adresse (14)

Frage von Rene12345 zum Thema Exchange Server ...

Windows Userverwaltung
gelöst Wie verfahrt Ihr mit den Windows-Benutzerkonten und -dateien von ausgeschiedenen Mitarbeitern? (14)

Frage von Bl0ckS1z3 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Devolo DLAN 500 pro Wireless+ (13)

Frage von IceAge zum Thema LAN, WAN, Wireless ...

E-Mail
gelöst Probleme beim E-Mail Empfang (12)

Frage von TommyB83 zum Thema E-Mail ...