Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将单击次数指定给隐藏值_Javascript_Php - Fatal编程技术网

Javascript 将单击次数指定给隐藏值

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

在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" 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>