当我点击它时,我有一个简单的按钮我希望从jQuery传递一个值并将其发送到PHP文件,以便我可以执行它。因此,当单击按钮触发onclick事件时,它会发送数字" 1"到jQuery代码,反过来jQuery应该发送" 1"到PHP函数displayRecords," 1"应该回应:)。如果你能提供帮助,我们将不胜感激。
HTML
<input type="button" value = "Click Me!"
id = "btn" nam = "btn" onClick="displayRecord(1)">
jQuery
<script>
function displayRecord(num) {
$.ajax({
type: 'post',
url: "display.php",
data: { num: num }
});
};
</script>
PHP
<?php
function displayRecord($num) {
echo $num;
}
?>
答案 0 :(得分:0)
你不能只调用那样的变量
function displayRecord($num){
echo $num;
}
这只是一个功能退化。你没有用任何东西来称呼它。添加此项以使用POST数据调用您的函数
displayRecord($_POST['num']);
答案 1 :(得分:0)
你需要一个表格和输入值..
<form id="btn">
<input type="hidden" value = "Click Me!"
nam = "btn">
<button type="submit">Submit this form</button>
</form>
从php文件回显这样做:
指定JSON标题&amp;创建数组(jSon只读取数组);
header("content-type:application/json");
if(!empty($_POST['num'])){
$result = array(array("num" => $num));
echo json_encode($result); }
在Ajax ..
var form = $("#btn");
form .submit(function (ev) {
$.ajax({
type: 'POST',
dataType: 'json',
url: "display.php",
data: { num: num },
success: function( json ) {
$.each(json, function(i, item) {
alert('+item.num+');
})
},
error: function(xhr, desc, err) {
console.log(xhr + "\n" + err);}
});
ev.preventDefault();
});
答案 2 :(得分:0)
调用此页面:index.php
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
function displayRecord(num){
txt=num;
$.post("demo.php",{num:txt},function(result){
$("#displayRecord").html(result);
});
}
</script>
</head>
<body>
<input type="button" value="Click Me!" id="btn" name="btn" onClick="displayRecord(1)">
<div id="displayRecord"></div>
</body>
并将此页面称为:demo.php
<?php echo $_POST['num']; ?>
答案 3 :(得分:0)
首先注意到你需要在输入id周围放置撇号,这可能会导致意外结果,具体取决于你正在做什么。
这是所需的HTML。
<form id="form">
<input type="button" value="Click Me!" id="btn" name="btn" type="submit">
</form>
将数据从AJAX发送到PHP。
$(function() {
$('#form').on('submit, function() {
$.ajax({
type: 'POST',
dataType: 'json',
url: 'display.php',
data: { num: num },
success: function(message, data) {
alert(message);
$(data)...//ready to use
}
});
});
});
将数据从PHP发送回JSON格式的AJAX。
<?php
if ($_POST['num']) {
$num = $_POST['num'];
echo json_encode(array('message' => 'Completed!', 'data' => $num));
}
?>
答案 4 :(得分:0)
你缺少两件事。 在php中,你实际上并没有调用函数,而在js中你忽略了返回的数据。
修复:
的jQuery
<script>
function displayRecord(num) {
$.ajax({
type: 'post',
//dataType: 'json', <--you are not currently sending json, so remove this
url: "display.php",
data: { num: num },
//do something with the result of the ajax call
success:function(data){
alert(data);
}
});
};
</script>
PHP
<?php
function displayRecord($num) {
echo $num;
}
//call the function, with the posted data
displayRecord($_POST['num']);
?>
答案 5 :(得分:0)
因为你已经在使用jquery ajax,为什么不使用一些jquery绑定呢,
<input type="button" value = "Click Me!"
id = "sendbtn" >
<script>
$(document).ready(function(){
var display = function (e) {
e.preventDefault();
var num = $("#yourtextinputidhere").val();
$.ajax({
type: 'post',
dataType: 'json',
url: "display.php",
data: { num: num }
});
}
$("#sendbtn").on('click', display); //note display is set as a function above
});
</script>
<?php //display.php
function displayRecord($num){
//Do what needs to be done here
}
displayRecord($_POST['num']);
?>