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, 2906 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?
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (31)

Frage von Maik82 zum Thema Linux Netzwerk ...

Exchange Server
gelöst Bestehende eMails autoamatisch weiterleiten (22)

Frage von metal-shot zum Thema Exchange Server ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...

Switche und Hubs
LAG zwischen SG300-Switches macht Probleme. Wer weiß Rat? (20)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...