我想在表单提交事件中从php调用javascript函数。并且javascript函数将访问php变量,使用ajax将它们发送到另一个网站上的php脚本。以下代码只是一种表示形式。
<?php
....
.....
......
if($_POST["action"]=="xyz"){
$myname = "asim";
echo "<script type='text/javascript'>submitform();</script>";
}
.....
....
...
gotoanotherpagefinally();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
function submitform(){
alert("<?php echo $myname; ?>");
$.ajax({
type: 'POST',
data: {
action: 'whatever',
fileID: "<?php echo $myname; ?>",
},
url: 'http://xyz.com/API/query.php'
});
}
</script>
</head>
<body>
<form id="myform">
------
------
<input type="submit" name="submit_details">
</form>
</body>
</html>
我需要从php调用javascript函数,因为js函数采用的php变量只能由php本身设置,而不是表单值或其他东西。
答案 0 :(得分:1)
您可以使用jQuery捕获submit
事件:
$("#myform").submit(function(e) {
// needed so the default action isn't called
//(in this case, regulary submit the form)
e.preventDefault();
$.ajax(...);
});
答案 1 :(得分:1)
你可以使用:
<form id="myform" onsubmit="submitform()">
答案 2 :(得分:0)
您可以使用jQuery来执行此操作。
$(':input').click(function(){});
然后在这个函数中你可以使用ajax请求将变量发送到你拥有的php页面。
var variableA, variableB; // variables to be initiated by an ajax request
// ajax request to get variables from php page
$.ajax(
{
url:'php_page_path/source_page.php',
data:"message=getVars",
type: 'post',
success: function(data){
// use the data from response
var obj = JSON.parse(data);
variableA = obj.varA;
variableB = obj.varB;
}
});
// use the variables in this ajax request and do what you want
$.ajax(
{
url:'php_page_path/page.php',
data:"var1="+variableA+"&variableB="+vaiableB ,
type: 'post',
success: function(j){
// use the data from response
}
});
答案 3 :(得分:0)
请更改您的代码 -
<?php
$myname="asim";
?>
<script type="text/javascript">
function submitform(myname){
alert(myname);
$.ajax({
type: 'POST',
data: {
action: 'whatever',
fileID: myname,
},
url: 'http://xyz.com/API/query.php'
});
}
</script>
HTML
<form id="myform" onsubmit="submitform('<?php echo $myname;?>')">
------
------
<input type="submit" name="submit_details">
</form>