echo '<script>
function ' . $row['idname'] . 'Click(){
$("#flip-' . $row['idname'] . '").flipswitch("disable");
var isOff = document.getElementById("flip-' . $row['idname'] . '").value;
if(isOff == "off"){
console.log("action.php?do=turn-off-' . $row["id"] . '");
jQuery.ajax({
url: "action.php?do=turn-off-' . $row["id"] . '",
type: "GET",
success:function (data) {
$("#flip-' . $row['idname'] . '").flipswitch("enable");
console.log("SUCCESS!!");
}
});
}else{
console.log("action.php?do=turn-on-' . $row["id"] . '");
jQuery.ajax({
url: "action.php?do=turn-on-' . $row["id"] . ',
type: "GET",
success : function (data) {
$("#flip-' . $row['idname'] . '").flipswitch("enable");
console.log("SUCCESS!!");
}
});
}
}
</script><br>';
Also mein Problem ist, dass Ajax nicht einmal die Seite lädt, die angefordert wird.jQuery Mobile AJAX lädt nicht Seite
Es erstellt diesen Code aus dem Ergebnis einer MySQL-Abfrage, also ist es im Grunde eine JavaScript-Datei in einer PHP-Datei. Das Ziel ist eine leere Seite, die nur einige Funktionen hat.
Die Funktion wird onChange
von diesen <select>
aufgerufen:
echo '<div class="ui-field-contain" style="width: 100%;">
<label for="flip-' . $row['idname'] . '">' . $row['name'] . '</label>
<select onchange="' . $row['idname'] . 'Click()" name="flip-' . $row['idname'] . '" id="flip-' . $row['idname'] . '" data-role="flipswitch">
<option value="off" selected="">Aus</option> <option value="on">An</option>
</select>
</div>';
dumme Frage: die Funktion irgendwo genannt wird, nicht wahr? (Ich frage, da es ein * dynamische * Name via * php generieren hat * .. (Warum Sie nicht über eine Funktion erstellen, die Ihre '$ row akzeptiert [ 'idname'' als Argument? – FredMaggiowski
natürlich ist es aufgerufen wird - und ich wollte nicht nur diese Funktion aufrufen, da action.php wie ein api später funktionieren sollte, hat diese Seite aufrufen, wird Aktion x ausgeführt werden –
ok, danke (ich habe den Code auf die Frage hinzugefügt, da aus. die Kommentare seiner ziemlich unleserlich) – FredMaggiowski