我想从php调用jquery函数。 我试过这种方式,但没有调用jquery函数。
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
如何从php调用jquery中的函数?谢谢!
答案 0 :(得分:1)
您的问题是JavaScript范围界定:您无法从任何地方访问您尝试呼叫的功能。
$(function() {
function reset_fields(){
// this function is only accessible to things inside $(function(){...
}
}
这意味着您无法直接访问它。但是,如果将函数放在外面,它将起作用:
function reset_fields() {
// now this function is globally accessible from anywhere
}
$(function() {
// you can still call reset_fields() from here
}
答案 1 :(得分:0)
Php在客户端上运行服务器和javascript,因此术语&#34;调用javascript函数&#34; is incorrect。
您可以使用php设置javascript变量,然后在客户端上使用javascript测试该变量。这将是make your code a bit simpler
var postId = '<?php echo $_POST["id"] ?>';
if( postId === '1'){
reset_field();
}
else {
reset_field();
}