Reputation: 557
I am trying to use some jQuery functions inside of my php page which I am using for a wordpress plugin. I have imported the jquery api using the below code however I'm not sure how to write the function.
<?php
echo "Custom Book Settings Page";
echo '<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>';
this produces syntax error
<?php
$("#form1").submit(function() { $.post("customBook-index.php"); return false; alert ("submit form 1"); });
?>
Upvotes: 1
Views: 6468
Reputation: 11440
Like the others have said, you can't use JavaScipt (or any of its libraries) inside PHP. You certainly can, however, use PHP to print out JavaScript which will be run at the appropriate time.
<?php echo "<script type='text/javascript'>
$(document).ready(function(){
$('#form1').submit(function() {
$.post('customBook-index.php');
return false;
alert ('submit form 1');
});
});
</script>";
?>
Upvotes: 3
Reputation: 1918
// turn off php
?>
$("#form1").submit(function() {
$.post("customBook-index.php");
return false;
alert ("submit form 1");
});
<?php
Upvotes: 0
Reputation: 25214
You cannot use jQuery like that within your PHP. JQuery is a JavaScript library. It is essentially code that is pre-written for you and abstracted in such a way that it makes it easy to use. When you call $('#myElementId)
you are calling an abstraction of a JavaScript function (or set of functions).
Using jQuery within PHP won't work, because the PHP interpreter has no way to make sense of it. It would be like speaking giving instructions in Chinese to a (monoglot) Anglophone. Furthermore, there is a significant difference between PHP and JavaScript in as much as PHP is executed on a web server, and JavaScript is executed on a client's machine. This is an important concept to understand for any web programmer.
In short, you either need to write your JS function into a <script>
tag on the page such that the navigator parses it as JavaScript, or determine the PHP equivalent for what you are trying to do.
Upvotes: 1
Reputation: 4304
why wouldnt you just have the syntax without the tags?
$("#form1").submit(function() { $.post("customBook-index.php"); return false; alert ("submit form 1"); });
if you have to have php write the statement, you forgot the echo
<?php
echo '$("#form1").submit(function() { $.post("customBook-index.php"); return false; alert ("submit form 1"); });';
?>
Upvotes: 1