Javascript 单击submit按钮后要添加到数组中的变量值

Javascript 单击submit按钮后要添加到数组中的变量值,javascript,jquery,arrays,Javascript,Jquery,Arrays,单击“提交”按钮后,如何将变量的值放入数组中?提交按钮将触发arrayholder.push 应添加到数组中的变量是单击的按钮 JAVASCRIPT qty1=0; qty2=0; qty3=0; qty4=0; arrayholder=new Array(); $("#id1").click(function(){ qty1=qty1+1; $("#status").html(qty1); }); $("#id2").click(function(){ qty2=qty2+1; $("#s

单击“提交”按钮后,如何将变量的值放入数组中?提交按钮将触发arrayholder.push

应添加到数组中的变量是单击的按钮

JAVASCRIPT

qty1=0;
qty2=0;
qty3=0;
qty4=0;
arrayholder=new Array();

$("#id1").click(function(){
qty1=qty1+1;
$("#status").html(qty1);
});

$("#id2").click(function(){
qty2=qty2+1;
$("#status").html(qty2);
});

$("#id3").click(function(){
qty3=qty3+1;
$("#status").html(qty3);
});

$("#id4").click(function(){
qty4=qty4+1;
$("#status").html(qty4);
});
HTML代码

    <button id="id1">ADD 1 QUANTITY FROM id1</button>
    <button id="id2">ADD 1 QUANTITY FROM id2</button>
    <button id="id3">ADD 1 QUANTITY FROM id3</button>
    <button id="id4">ADD 1 QUANTITY FROM id4</button>

<div id="status"></div>
<input type="submit" />
更改type=submittotype=button并向其添加一个click侦听器

推送数组中的值,然后使用提交功能提交表单

$("#submitButton").click(function(){
    //YOUR CODE HERE
    ....
    document.getElementById("yourform").submit();
});
试试这个

$('input[type="submit"]').on('click',function(){
    arrayholder.push(qty1,qty2,qty3,qty4);
    console.log(arrayholder);
    return false;
});
要区分按钮计数,可以按以下键值对


将其更改为type button,而不是submit类型的输入,然后:

<input id="abc" type="button" click="pushMe" />

function pushMe()
{
  arrayholder.push(qty1);
  document.getElementById("form1").submit();
}
你为什么不这样做

$("#id1").click(function(){
    arrayholder.push(qty1++)
});

这将在您单击按钮时将值推送到数组。

我想检查变量值是否已更改

<input id="submitButton" type="button" click="submitForm" />

function submitForm()
{

  if(qty1 != 0){ arrayholder.push(qty1); }
  if(qty2 != 0){ arrayholder.push(qty2); }
  if(qty3 != 0){ arrayholder.push(qty3); }
  if(qty4 != 0){ arrayholder.push(qty4); }

  document.getElementById("form1").submit();
}
看这把小提琴

希望它能满足您的需求:

检查控制台中的数组结果

而不是使用qty1=qty1+1;,使用qty1++;。这意味着用1递增qt1。@geenhank,但如何将其添加到数组中,但首先我必须确定是否单击了按钮。单击“提交”按钮后,结果将添加到数组中。是否仅在变量值已更改时才添加到数组中?例如,仅当qty1不再为0时?@SajunaFernando。对我需要检查数量值是否不再为0。这是我单击“提交”按钮后将其添加到数组中的时间。但我需要先单击“提交”按钮,然后再将其添加到数组中。如果要提交表单,提交或按钮并不重要。在我看来,提交是最好的。请告诉我为什么所有人都在发布我的相同答案时会投反对票……你解释了如何在点击事件处理程序上提交表单。不是被问到的问题。问题是如果特定变量已设置,如何将值推送到数组中,或者换句话说,只有在单击按钮时才可以。@Sajuna Fernando对我来说,问题是在提交表单之前如何推送到值,而不是如何推送到数组中的值,但是可以,感谢您的解释,但是我如何确定按钮是否被单击?我单击的按钮是唯一应该添加到数组中的按钮,而不是整个变量。但是我需要在单击submit按钮后按下它。这样我就可以确定单击了哪个按钮。只有点击的按钮我才会被添加到数组中。你想知道哪个按钮被点击了吗?你想像@sajuna Fernando那样做吗?是的,先生。。此外,我还需要确定点击的顺序。我给出的解决方案将按顺序添加值,但不会在提交时添加。如果你想这样做,你必须维护一个数组来获取按钮序列,在提交时你必须循环数组,获取变量值并将其推到结果数组。我想这一定是答案。我需要首先检查值是否已经更改。但是,在将其添加到阵列之前,我可以确定单击的顺序吗?例如,我首先单击了qty3之前的qty4。所以,我需要先将qty4添加到数组中,然后再添加qty3。还有另一个场景。我首先单击了qty4,然后单击了qty3。因此,我需要先将qty4添加到数组中,然后再添加qty3。然后我再次单击了qty4。但是之前qty4是在qty3之前先点击的,所以qty4必须先进入数组。对不起,我的朋友,我认为这不可能。我迷惑了自己,以为你想要点击次数最多的一个出现在顶部,在这种情况下,你只需要对数组进行排序。。要执行您所说的操作,您需要在单击点添加到数组中。Javascript不允许变量保存变量名,所以我想不出正确的方法来实现这一点。。不过,你的想法对我还是有点帮助。让我先检查一下这太棒了,但这不是我想要的。我需要在将其添加到阵列之前确定单击的顺序?例如,我首先单击了qty3之前的qty4。因此,我需要先将qty4添加到数组中,然后再添加qty3。还有另一种情况。我首先单击了qty4,然后单击了qty3。因此,我需要先将qty4添加到数组中,然后再添加qty3。然后我再次单击了qty4。但之前qty4是在qty3之前先单击的,因此qty4必须首先进入数组。我需要确定单击的顺序,然后再将其添加到数组中?例如,我首先单击了qty3之前的qty4。因此,我需要先将qty4添加到数组中,然后再添加qty3。还有另一种情况。我首先单击了qty4,然后单击了qty3。因此,我需要先将qty4添加到数组中,然后再添加qty3。然后我再次单击了qty4。但之前在qty3之前先单击qty4,因此qty4必须首先出现在数组中@GregOksSo第一次点击是什么?如果您依次单击4、3、4和3。在数组中仍然是4,然后是3?也就是说,只有第一次点击才算?
<input id="submitButton" type="button" click="submitForm" />

function submitForm()
{

  if(qty1 != 0){ arrayholder.push(qty1); }
  if(qty2 != 0){ arrayholder.push(qty2); }
  if(qty3 != 0){ arrayholder.push(qty3); }
  if(qty4 != 0){ arrayholder.push(qty4); }

  document.getElementById("form1").submit();
}
$(".TheBtn").click(function() {
   $(this).find("span").text(+$(this).find("span").text()+1); 
});


$("#submit").click(function() {
     var arrayholder = [];
     $.each($(".TheBtn"),function() {
           arrayholder.push(+$(this).find("span").text());
     });
    console.log(arrayholder);
});