Top-Themen

Aktuelle Themen (A bis Z)

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
GELÖST

JavaScript Ajax dynamisches Feld Counting xHTML Aktualisierung

Frage Entwicklung JavaScript

Mitglied: Midivirus

Midivirus (Level 2) - Jetzt verbinden

29.07.2011, aktualisiert 20:35 Uhr, 3674 Aufrufe, 10 Kommentare

Hallo Mitglieder,

habe mir von diversen Seite mal folgendes zusammen kopier:

01.
 
02.
function lookup(inputString) { 
03.
	if(inputString.length == 0) { 
04.
		// Hide the suggestion box. 
05.
		$('#suggestions').hide(); 
06.
	} else { 
07.
		$.post("rpc.php?", {queryString: ""+inputString+""}, function(data){ 
08.
			if(data.length >0) { 
09.
				$('#suggestions').show(); 
10.
				$('#autoSuggestionsList').html(data); 
11.
12.
		}); 
13.
14.
} // lookup 
15.
 
16.
---- 
17.
 
18.
function fill(thisValue) { 
19.
	$('#inputString').val(thisValue); 
20.
	setTimeout("$('#suggestions').hide();", 200); 
21.
22.
 
Mit den Parametern |onkeyup=\"lookup(this.value);\" onblur=\"fill();\" | in dem INPUT wird der Wert an die PHP-Datei übermittelt und dort eine Abfrage ausgeführt.

Ich habe schon einen Counter laufen:

01.
		Counter -= 1; 
02.
		setTimeout("zaehler()", 1000); 
03.
		document.getElementById('counter').innerHTML = ' '; 
04.
		if (Counter < 360) 
05.
			document.getElementById('counter').innerHTML = ' Serverlauf in ' + Counter; 
06.
		if (Counter > 3240) 
07.
			document.getElementById('counter').innerHTML = ' Serverlauf vor ' + (3600-Counter);
Ziel von mir ist es:
eine HTML-Variable (nenne es jetzt mal so), in der wie bei Counter dann der wert steht, den die Abfrage ergeben hat.

Also ein Counter, wie viele User online sind, der sich automatisch "aktualisiert".
Könnte das jetzt auch wieder mit IFRAME lösen, aber wirkt dann etwas "komisch".


Wer mir das nicht gleich basteln möchte, kann es auch in Form von Tipps machen!

Sonst, merci!


Beste Grüße
Midi
Mitglied: EvilMoe
29.07.2011 um 18:55 Uhr
Hallo,

das ist gar keine große Kunst. Wenn du dir dein "kopiertes" Script ansiehst fällt gleich auf das dort mit Jquery ein JavaScript Framework gearbeitet wird.
Ich arbeite damit selber gerne, erspart viel Schreibarbeit.

01.
$.post('ajax/test.php', function(data) { 
02.
  $('#result').html(data); 
03.
});
Mehr Code benötigst du gar nicht. Fehlt nur noch dein Timeout die die Funktion ständig erneut aufruft.
Der Code oben gib das Ergebnis was die "test.php" liefert im Element mit der ID 'result' aus.
Bitte warten ..
Mitglied: Midivirus
29.07.2011 um 20:34 Uhr
Ich grüße dich EvilMoe,

ist doch einfacher als ich gedacht hatte.

Irgendwann hab ich nix mehr gelesen und verstanden, vor lauter Programmiersprachen

Trotzdem danke und:
Bis demnächst,
Midi
Bitte warten ..
Mitglied: EvilMoe
30.07.2011 um 01:02 Uhr
Jquery ist einfach ein sehr schönes Framework und kann es jedem nur empfehlen der mit JavaScript arbeitet.
Auch gibt es dafür sehr viele Plugins wodurch es nahezu alles gibt was man sich wünscht
Bitte warten ..
Mitglied: Midivirus
01.08.2011 um 08:55 Uhr
Eines noch:

Ich hab es heute morgen in dem Konstrukt gestartet, möchte es nicht mehr.

01.
<HTML> 
02.
<BODY> 
03.
 
04.
<script language="javascript"
05.
function onlinecount() 
06.
07.
	$.post('counter_ajax.php', function(data) { 
08.
		$('#result').html(data); 
09.
	}); 
10.
	setTimeout("onlinecount()", 600000); 
11.
12.
window.onload = onlinecount; 
13.
<script> 
14.
 
15.
</BODY> 
16.
</HTML>
Beide Dateien liegen im gleichen Verzeichnis.

Die Datei einzeln aufgerufen, bringt natürlich das gewünschte Ergebnis.

Gibt es da einen Fehler?
Passenden Wochenstart ...
Midi
Bitte warten ..
Mitglied: EvilMoe
01.08.2011 um 10:39 Uhr
Hallo,

JavaScript sollte eher in dem Header gehören nicht unbedingt im Body.
Warum nutzt du nicht das Event "onLoad" im Body?


Gruß
Bitte warten ..
Mitglied: Midivirus
01.08.2011 um 12:08 Uhr
01.
<HTML> 
02.
<HEAD> 
03.
 
04.
<script language="javascript"
05.
<!-- 
06.
var Counter = 380;		 
07.
var stunde = 12; 
08.
 
09.
function zaehler() 
10.
11.
	if (Counter > 0) { 
12.
		Counter -= 1; 
13.
		setTimeout("zaehler()", 1000); 
14.
		document.getElementById('counter').innerHTML = 'testtest'
15.
		if (Counter < 360) 
16.
			document.getElementById('counter').innerHTML = ' Serverlauf in ' + Counter; 
17.
		if (Counter > 3240) 
18.
			document.getElementById('counter').innerHTML = ' Serverlauf vor ' + (3600-Counter); 
19.
	} else
20.
		//window.location.reload(); 
21.
		setTimeout("zaehler()",1000); 
22.
		Counter = 3600; 
23.
		stunde ++; 
24.
25.
	var d=new Date(); 
26.
	document.getElementById('counterunix').innerHTML = d.toLocaleDateString() + ' ' + d.toLocaleTimeString(); 
27.
28.
function onlinecount(){ 
29.
	$.post('counter_ajax.php', function(data) { 
30.
	  $('#result').html(data); 
31.
	  document.debug.output.value = "test"
32.
	}); 
33.
	setTimeout('onlinecount()', 1000); 
34.
	 
35.
36.
window.onload = onlinecount; 
37.
window.onload = zaehler; 
38.
 
39.
--> 
40.
</script> 
41.
<TITLE>test</TITLE> 
42.
</HEAD> 
43.
<BODY> 
44.
<SPAN id="result"></SPAN> 
45.
<SPAN id="counter"></SPAN> 
46.
<SPAN id="counter2"></SPAN> 
47.
<form action="#" name="debug"><div><textarea name="output"></textarea></div></form> 
48.
</BODY> 
49.
</HTML>
Sooouuu, wenn es jetzt nicht klappt, geb ich auf und mach da einen IFRAME rein!

der zaehler() wird ordnungsgemäß ausgeführt, aber von der anderen Funktion merk ich nichts. Nicht ein alert("text"); passiert!


Deine Geduld noch einmal, dann ist aber Schluss

Gibt wichtigere Dinge,
Grüße
Midi
Bitte warten ..
Mitglied: EvilMoe
01.08.2011 um 12:11 Uhr
Hast du Jquery überhaupt eingebunden? Sehe davon nichts.
Bitte warten ..
Mitglied: Midivirus
01.08.2011 um 13:41 Uhr
Fehler gefunden.

einmal das Framework, wie du sagst.

Und ich hab noch den anderen counter, wie oben, zusätzlich mit setTimeout("zaehler()",1000); nebenbei pändeln.

Musste die beiden onload in eine Funktion packen, die diese dann aufruft
[weil es kann immer nur eine Funktion "geladen" werden.]

Damit wäre dann mein Exkurs in JS abgeschlossen.

*merci*

Midivirus
Bitte warten ..
Mitglied: Midivirus
01.08.2011 um 13:41 Uhr
Lösung:

01.
<HTML> 
02.
<HEAD> 
03.
<script src="template/jquery-1.2.1.pack.js" type="text/javascript"></script> 
04.
<script language="javascript"
05.
<!-- 
06.
 
07.
var Counter = 380;		 
08.
var stunde = 12; 
09.
 
10.
function myonload(){ 
11.
	onlinecount(); 
12.
	zaehler(); 
13.
}   
14.
 
15.
function zaehler() 
16.
17.
	if (Counter > 0) { 
18.
		Counter -= 1; 
19.
		setTimeout("zaehler()", 1000); 
20.
		document.getElementById('counter').innerHTML = 'testtest'
21.
		if (Counter < 360) 
22.
			document.getElementById('counter').innerHTML = ' Serverlauf in ' + Counter; 
23.
		if (Counter > 3240) 
24.
			document.getElementById('counter').innerHTML = ' Serverlauf vor ' + (3600-Counter); 
25.
	} else
26.
		//window.location.reload(); 
27.
		setTimeout("zaehler()",1000); 
28.
		Counter = 3600; 
29.
		stunde ++; 
30.
31.
	var d=new Date(); 
32.
	document.getElementById('counterunix').innerHTML = d.toLocaleDateString() + ' ' + d.toLocaleTimeString(); 
33.
34.
 
35.
function onlinecount(){ 
36.
	$.post('counter_ajax.php', function(data) { 
37.
	  $('#result').html(data); 
38.
	}); 
39.
	setTimeout('onlinecount()', 1000); 
40.
41.
// window.onload = zaehler; 
42.
// window.onload = onlinecount; 
43.
window.onload = myonload; 
44.
 
45.
 
46.
--> 
47.
</script> 
48.
<TITLE>test</TITLE> 
49.
</HEAD> 
50.
<BODY> 
51.
<SPAN id="result"></SPAN> 
52.
<SPAN id="counter"></SPAN> 
53.
<SPAN id="counter2"></SPAN> 
54.
<form action="#" name="debug"><div><textarea name="output"></textarea></div></form> 
55.
</BODY> 
56.
</HTML>
Bitte warten ..
Mitglied: EvilMoe
01.08.2011 um 13:45 Uhr
Wenn du schon mit Jquery arbeitest würde ich die Funktion "zaehler" auch mit den Jquery arbeiten und nicht die langen "document..." schreiben
01.
document.getElementById('counter').innerHTML = 'testtest'; 
Würde sich verkürzen auf
01.
$('#counter').html( 'testtest' );

EDIT: Jquery 1.2 ist aber schon sehhhr alt. Ich würde das gegen die neuste Version austauschen um die Kompatibilität zu gewährleisten.


EDIT2: Jquery bietet auch eine eigene möglickeit ein "onload" Event auzulösen.
01.
$(document).ready(function() { 
02.
 
03.
alert('Ich werde ausgeführt wenn die Seite fertig geladen ist'); 
04.
 
05.
});
Bitte warten ..
Ähnliche Inhalte
JavaScript
Javascript und Ajax Problem
gelöst Frage von ProtectedJavaScript4 Kommentare

Hallo, der User colinardo hat mir seinen AJAX Code zur Verfügung gestellt, damit ich per Ajax Kategorien und die ...

PHP
JavaScript Variable an PHP per AJAX?
gelöst Frage von BuddersPHP6 Kommentare

Guten Morgen liebe Administratoren. Ich habe mal eine Frage bezüglich PHP, Javascript und den dementsprechenden Variablen. Unzwar habe ich ...

Erkennung und -Abwehr
IPtables Counting Script erstellen
gelöst Frage von SpeakerSTErkennung und -Abwehr2 Kommentare

Hallo Leute, ich habe eine Frage zu IPtables. Ich habe bei Hetzner einen Debian Server wo ein Apache und ...

Windows Server
Dynamische Variable im Feld Wertdaten innerhalb der GPO
Frage von Ice-TeeWindows Server1 Kommentar

Hi all, ich bin ja bissel am verzweifeln. Ich habe folgendes vor: Veränderung der OEM Informationen in der Reg. ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 1 TagApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 1 TagWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 1 TagWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 2 TagenInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement16 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...