mi piacerebbe chiamare una funzione jquery da php. Ho provato in questo modo, ma le funzioni jQuery non vengono chiamate.
jq.action.js
$(function() {
$("#reset" ).click(function(e){
e.preventDefault();
reset_fields();
});
function reset_fields(){
$(":input").prop("selectedIndex", 0);
}
function error_msg(){
alert("Error");
}
});
index.php
<script type="text/javascript" src="jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="jq.action.js"></script>
<?php
if ($_POST["id"] == "1") {
echo "<script>reset_fields();</script>";
} else {
echo "<script>error_msg();</script>";
}
?>
ReferenceError: reset_fields non è definito
come posso chiamare da PHP le funzioni all'interno di jQuery? Grazie!
risposte:
1 per risposta № 1Il tuo problema è l'ambito JavaScript: la funzione che stai tentando di chiamare non è accessibile da qualsiasi luogo.
$(function() {
function reset_fields(){
// this function is only accessible to things inside $(function(){...
}
}
Ciò significa che non è possibile accedervi direttamente, tuttavia, se si posiziona la funzione all'esterno, funzionerà:
function reset_fields() {
// now this function is globally accessible from anywhere
}
$(function() {
// you can still call reset_fields() from here
}
0 per risposta № 2
Php funziona sul server e javascript sul client, quindi la terminologia "chiama una funzione javascript" non è corretto.
È possibile impostare una variabile javascript con php, quindi verificare tale variabile con javascript sul client. Questo sarà rendi il tuo codice un po 'più semplice
var postId = "<?php echo $_POST["id"] ?>";
if( postId === "1"){
reset_field();
}
else {
reset_field();
}