HTML CODE
<form action="phpfile.php" method="post">
<input type="button" id="id1">
<input type="button" id="id2">
<input type="submit">
</form>
<div id="result"></div>
JAVASCRIPT CODE
qty1=0;
qty2=0;
totalqty=0;
$("#id1").click(function(){
qty1=qty1+1;
totalqty=totalqty+1;
$("#result").html(qty1);
});
$("#id2").click(function(){
qty2=qty2+1;
totalqty=totalqty+1;
$("#result").html(qty2);
});
点击提交按钮后,您能否给我一些关于如何将qty1,qty2和totalqty发送到我的php文件的提示。在我将它发送到php文件之前,我需要先检查按钮是否已被点击。如果没有,则不会将任何数量发送到phpfile。我需要根据您点击按钮的次数发送确切的数量。
答案 0 :(得分:1)
最简单的解决方案是将qty
添加为<input type="hidden" id="qty1" name="qty1" />
到您的表单。它们将作为变量隐藏,并将作为表单字段发送到服务器。要从Javascript访问其值,请使用$("#qty1").value()
答案 1 :(得分:1)
您正在寻找名为AJAX的内容。
使用jQuery库很容易实现,但也可以使用常规JavaScript。
如果您选择使用jQuery实现,那么您可以查看documentation。
这是一个基本的例子:
$.ajax({
type : 'post',
url : 'target.php',
dataType : 'json',
data : {
'foo' : 10
}
}).done(function()
{
$(this).addClass("done");
});
然后使用后端来处理响应,例如假设您发送一个参数对象,其中一个键名为foo且值为10,那么您可以像这样获取它(如果代码是PHP):
$foo = isset($_POST['foo']) ? $_POST['foo'] : "";
答案 2 :(得分:1)
qty1=0;
qty2=0;
totalqty=0;
$("#id1").click(function(){
qty1=qty1+1;
totalqty=totalqty+1;
$("#result").html(qty1);
get_values(qty1);
});
$("#id2").click(function(){
qty2=qty2+1;
totalqty=totalqty+1;
$("#result").html(qty2);
get_values(qty2);
});
function get_values(qty_val) {
$.post(
'get_values.php', // url of your php who will receive the values
{ post_variable_name: qty_val }, // your post variables here
function(data) {
// call back function
$("#result").html(data); // see what does your get_value.php echoes via html
console.log(data); // see it via console in inspect element
}
);
}
并且在你的php中将收到值,只需使用$ _POST:
进行检索<?php
$qty_val = '';
if(isset($_POST['post_variable_name'])) {
$qty_val = $_POST['post_variable_name'];
echo $qty_val;
}
?>
答案 3 :(得分:0)
HTML
<form>
<input name="id1" type="button" id="id1" />
<input name="id2" type="button" id="id2" />
<input type="submit" />
</form>
<div id="status"></div>
JS
qty1=0;
qty2=0;
totalqty=0;
$("#id1").click(function(){
qty1=qty1+1;
totalqty=totalqty+1;
$("#result").html(qty1);
});
$("#id2").click(function(){
qty2=qty2+1;
totalqty=totalqty+1;
$("#result").html(qty2);
});
$( "form" ).submit(function( event ) {
// prevent the default event
event.preventDefault();
// check first if the totalqty. You can add more checks here
if ( totalqty === 0 ) {
// usually show some kind of error message here
alert('No quantity selected!');
// this prevents the form from submitting
return false;
} else {
$.ajax({
type: 'post',
url: 'phpfile.php',
dataType: 'json',
data: {
quantity1: qty1,
quantity2: qty2,
totalQuantity: totalqty
}
}).done(function(data) {
console.log(data);
alert( "success" );
$('#status').html("Successfully saved!");
}).fail(function() {
console.log(data);
alert( "error" );
$('#status').html("Successfully saved!");
});
}
});
PHP
$qty1 = isset($_POST['quantity1']) ? $_POST['quantity1'] : "";
$qty2 = isset($_POST['quantity2']) ? $_POST['quantity2'] : "";
$total = isset($_POST['totalQuantity']) ? $_POST['totalQuantity'] : "";
抱歉,我无法测试,但它应该可以正常工作
有关详细信息,您可以查看jQuery Learning Center - Ajax,其中您可以找到使用ajax和表单的有用示例。