Wie kann ich eigendlich abfragen, ob eine Checkbox in HTML angeklickt ist, OHNE einen button betätigen zu müssen?
[SAMMELTHREAD] Kleine Coding Fragen
- breadfish.de
- Unerledigt
-
-
Wie kann ich eigendlich abfragen, ob eine Checkbox in HTML angeklickt ist, OHNE einen button betätigen zu müssen?
Mit Javascript kannst du das einfach prüfen mit dem OnClick eventmfg.
-
Welchen I/O Port nutzt der PC Speaker?
-
-
Versuch mal 0x61mfg.
Danke dir klappt -
Mit Javascript kannst du das einfach prüfen mit dem OnClick eventmfg.
Ich wollte versuchen, direkt im Java Script mit PHP weiter zu arbeiten, funktioniert aber nicht wie ich es mir erhofft habe
Wie pack ich das da jetzt an?PHP
Alles anzeigen<script type="text/javascript"> function OnChangeCheckbox (checkbox) { if (checkbox.checked) { <?php mysql_query("UPDATE `accounts` SET `Projekt`='1' WHERE `Name`='$Names'"); $SpielerInfo->Projekt=1; ?> } else { <?php mysql_query("UPDATE `accounts` SET `Projekt`='0' WHERE `Name`='$Names'"); $SpielerInfo->Projekt=0; ?> } } </script>
-
Das Geht nicht, da PHP einmal aufgerufen wird wenn du die Seite aufrufst und nicht dauerhaft benutzbar ist wie javascript.
Du könntest mit Ajax arbeiten. -
Neiiiiiiiiiiiiiiiiiiiiiiiiin
Niemals den Code so durcheinander schmeißen!
Doch kein PHP in Javascript verwenden
Man erstellt eigentlich für alles eine eigene Datei..nur HTML und nur PHP und nur Javascript und nur CSS...
Dann hat man das alles schön übersichtlich und gut!
Schau dir mal Ajax an, dass musst du verwenden um von Javascript auf ein PHP Skript zuzugreifen
mfg.
-
Ich steig da irgendwie nicht durch, könnt ihr mir ne denkhilfe geben wie ich damit anfange am unlogischten
-
Ich steig da irgendwie nicht durch, könnt ihr mir ne denkhilfe geben wie ich damit anfange am unlogischten
Naja, da gibt es 2 Möglichkeiten, entweder du nutzt JQuery oder einen guten alten XMLHttpRequestIch zeig dir mal den Request:
Spoiler anzeigen request = false; //als globale Variable
function requSend() {
if (window.XMLHttpRequest) request = new XMLHttpRequest();
else if (window.ActiveXObject) {
try {
request = new ActiveXObject('Msxml2.XMLHTTP');
} catch (e) {
try {
request = new ActiveXObject('Microsoft.XMLHTTP');
} catch (e) {}
}
}
if (!request) return alert("Kann keine XMLHTTP-Instanz erzeugen");
request.open('post', 'xxx.php', true); //post = POST oder GET und xxx.php ist der Datei name von deiner PHP Datei
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request.send('name=hi'); //->Hier würdest du jetzt eine $_POST["name"] Variable senden mit dem Inhalt ->hi (kannst du dann im PHP-Skript abfragen)
request.onreadystatechange = interpretRequest; //Das nur, wenn du eine Antwort vom PHP Skript haben möchtest in Form von dem HTML Source Text
return false;
}PS: Fall du noch die Antwort vom PHP-Skript haben möchtest natürlich die Funktion noch schreiben:
Codefunction interpretRequest() { switch (request.readyState) { case 4: if (request.status != 200) { return false; } else { var content = request.responseText; alert(content); //Würde dir jetzt die Antwort ausgeben ;) } break; default: break; } return false;}
PS²: Bitte lies dir meine Kommentare am Rand von dem Code durch!
mfg.
-
Kaliber:
Ich hab das mal so gemacht wie ich es verstanden habe.
Ist das richtig oder hab ich irgendwo nen denkfehler?PHP
Alles anzeigen<script type="text/javascript"> request = false; vari = false; function requSend() { if (window.XMLHttpRequest) request = new XMLHttpRequest(); else if (window.ActiveXObject) { try { request = new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { try { request = new ActiveXObject('Microsoft.XMLHTTP'); } catch (e) {} } } function OnChangeCheckbox (checkbox) { } if (checkbox.checked) { vari=true; } else { vari=false; } } if (!request) return alert("Kann keine XMLHTTP-Instanz erzeugen"); request.open('post', '?page=profil.phtml', true); request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); request.send('check=vari'); return false; </script>
-
kleine Frage
Warum entpackt er mir das Archiv nicht? -
Ich hab das mal so gemacht wie ich es verstanden habe.
Dann hast du es nicht richtig verstanden wie javascript funktioniertSo solltest du es machen:
Spoiler anzeigen <script type="text/javascript">
request = false;
vari = false;
function OnChangeCheckbox (checkbox) {
if (window.XMLHttpRequest) request = new XMLHttpRequest();
else if (window.ActiveXObject) {
try {
request = new ActiveXObject('Msxml2.XMLHTTP');
} catch (e) {
try {
request = new ActiveXObject('Microsoft.XMLHTTP');
} catch (e) {}
}
}
if(checkbox.checked) vari=true;
else vari=false;
if (!request) return alert("Kann keine XMLHTTP-Instanz erzeugen");
request.open('post', 'profil.php', true); //phtml? ich hoffe du meinst .php!!! >.<
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request.send('check='+vari); //und nun greifst du den Wert im PHP-Skript imt $_POST["check"] ab!
return false;
}
</script>mfg.
-
Kaliber:
Danke das sieht schon logischer ausAber meine Frage ist, wo genau fange ich den wert jetzt ab?
Ich hab das jetzt so gemacht wie ich es mir dachte aber es steht immer "NEIN"
PHP<script type="text/javascript"> function OnChangeCheckbox (checkbox) { request = false; vari = false; function OnChangeCheckbox (checkbox) { if (window.XMLHttpRequest) request = new XMLHttpRequest(); else if (window.ActiveXObject) { try { request = new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { try { request = new ActiveXObject('Microsoft.XMLHTTP'); } catch (e) {} } } if(checkbox.checked) vari=true; else vari=false; if (!request) return alert("Kann keine XMLHTTP-Instanz erzeugen"); request.open('post', 'view/profil.php', true); request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); request.send('check='+vari); return false;} } </script> <?php if(isset($_POST["check"])) { echo JA; } else echo NEIN; ?>
-
Aber meine Frage ist, wo genau fange ich den wert jetzt ab?
Du erstellst eine neue Datei namens "profil.php" und da kannst du dann folgendes reinschreiben:Diese Datei muss im selben Verzeichnis liegen wie deine html datei, andernfalls musst du den Pfad ändern
mfg.
-
Also ich hab das JS in meine PHP datei geschrieben, aber komme da nicht weiter, weil ich nicht mit so vielen files arbeiten möchte
Dürfte ich dich mal via. PN anschreiben wegen dem Zeug? -
Man sollte $_GET["blabla"]; nicht so verwenden. Es sollte lieber: filter_input verwendet werden.
Kommt da ein Profi? - Les Dir Deine Verlinkte Seite mal durch.
-
kleine Frage
Warum entpackt er mir das Archiv nicht?
Hat keiner ne Idee?benno385: falsches Thema hier
-
777 Rechte der PHP Datei und des Ordners?
-
Jo teste es local und da hat jeder ordner rechte