Javascript 将单击次数指定给隐藏值
在productsphp.php页面中Javascript 将单击次数指定给隐藏值,javascript,php,Javascript,Php,在productsphp.php页面中 <form action='productsphp.php' method='post'> <button type="button" onclick="add1()">Add</button> <input type="hidden" id="p1" value="" name="p1"/> <input type="submit" valu
<form action='productsphp.php' method='post'>
<button type="button" onclick="add1()">Add</button>
<input type="hidden" id="p1" value="" name="p1"/>
<input type="submit" value="Save" />
</form>
<script type="text/javascript">
function add1(){
var p= document.getElemenetById('p1').value;
var p1=0;
p1=p+1;
p=p1;
}
</script>
它不起作用。
我希望每次单击按钮时,都能转到add1函数并将其递增。这样我就可以知道用户单击了多少次。然后在按save键时,将单击次数保存在隐藏值中,然后获取该值并将其保存在数据库中。但该值仍然为零。请帮助尝试以下操作:
<?php
if(isset($_POST['p1'])){
$p1=$_POST['p1'];
echo "p1 is".$p1;
}
?>
这样,您可以在计算p1后使用其值。
您还需要设置p1的初始值:
您的函数名有一个输入错误getElemenetById,额外的e,并且您永远不会将值重新发送到输入字段。尝试:
<input type="hidden" id="p1" value="0" name="p1"/>
您根本不必使用另一个元素,您可以在当前元素上操纵属性,就像单击数据一样。它看起来是这样的:
<form action='productsphp.php' method='post'>
<button type="button" onclick="add1()">Add</button>
<input type="hidden" id="p1" value="" name="p1"/>
<input type="submit" value="Save" />
</form>
<script type="text/javascript">
function add1(){
var p= !parseInt(document.getElementById('p1').value) ? 0 : parseInt(document.getElementById('p1').value);
p++;
document.getElementById('p1').value = p;
}
</script>
减少页面上的DOM元素提高性能,考虑一下。
这里是一个1-Link:d
function add1(element){
var currentClicks = element.getAttribute('data-clicks');
element.setAttribute('data-clicks', currentClicks + 1);
}
<form action='productsphp.php' method='post'>
<button type="button" onclick="add1()">Add</button>
<input type="text" id="p1" value="" name="p1"/>
<input type="submit" value="Save" />
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript">
function add1(){
var p= document.getElementById('p1');
if(p.value) {
p.value = parseInt(p.value) +1;
}else {
p.value = 1;
}
}
</script>
注意:通过这种方式,你的点击次数很容易被欺骗。将ajax与jquery结合使用
您可以使用简单的javascript
function add1(){
document.getElementById("p1").value = Number(document.getElementById("p1").value) + 1
}
或Jquery
<script type="text/javascript">
var i=document.getElementById('p1').value;
i=(isNaN(i))?0:i;
function add1(){
count++;
//alert(count);
document.getElementById('p1').value=count;
}
</script>
这里是完整的html文件
<script>
var i=$('#p1').val();
i=(isNaN(i))?0:i;
$('button').click(function(){
$('#p1').val(++i);
});
</script>
很好,如果这个答案解决了您的问题,请接受它。@AssoumZoghbi发生了什么事?您一定没有给它一个初始值。不,亲爱的:/n再次选中,…它有效。。用这个测试它
<script type="text/javascript">
var i=document.getElementById('p1').value;
i=(isNaN(i))?0:i;
function add1(){
count++;
//alert(count);
document.getElementById('p1').value=count;
}
</script>
<script>
var i=$('#p1').val();
i=(isNaN(i))?0:i;
$('button').click(function(){
$('#p1').val(++i);
});
</script>
<html>
<head>
<script src="jquery.min.js"></script>
</head>
<body>
<form action='productsphp.php' method='post'>
<button type="button" onclick="add1()">Add</button>
<input type="hidden" id="p1" value="" name="p1"/>
<input type="submit" value="Save" />
</form>
<script type="text/javascript">
//use one at a time. This is just a demonstration how to do this in both
//jquery and javascript
/* Javascript way of doing this -
var i=document.getElementById('p1').value;
i=(isNaN(i))?0:i;
function add1(){
i++;
document.getElementById('p1').value=i;
}
*/
/* JQuery way of doing this*/
var i=$('#p1').val();
i=(isNaN(i))?0:i;
$('button').click(function(){
$('#p1').val(++i);
});
</script>
</body>
</html>