Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.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 无法将textbox变量计数器总计传递到下一页_Javascript_Php_Session - Fatal编程技术网

Javascript 无法将textbox变量计数器总计传递到下一页

Javascript 无法将textbox变量计数器总计传递到下一页,javascript,php,session,Javascript,Php,Session,上周末我在网上找到了这个脚本。但是,阅读有关如何将计数器总数传递到下一页的所有选项都不起作用。 我研究了在线和堆栈溢出的所有可能方法。不幸的是,大多数情况下,脚本最终无法工作。 我试图在下一页用echo$\u SESSION['msg']捕获它或echo$_会话['counter']。我还尝试过弄乱$msg行。 也不适用于包括本网站在内的多个网站。同样,回显getButtonValue似乎也不起作用,因为它列出的是每个文本框,而不是总的总和 $(document).ready(function(

上周末我在网上找到了这个脚本。但是,阅读有关如何将计数器总数传递到下一页的所有选项都不起作用。 我研究了在线和堆栈溢出的所有可能方法。不幸的是,大多数情况下,脚本最终无法工作。 我试图在下一页用
echo$\u SESSION['msg']捕获它
echo$_会话['counter']。我还尝试过弄乱
$msg
行。
也不适用于包括本网站在内的多个网站。同样,回显
getButtonValue
似乎也不起作用,因为它列出的是每个文本框,而不是总的总和

$(document).ready(function(){
    var counter = 2;
    $("#addButton").click(function () {
        if(counter>10){
            alert("Only 10 textboxes allow");
            return false;
        }   

        var newTextBoxDiv = $(document.createElement('div')).attr("id", 'TextBoxDiv' + counter);
        newTextBoxDiv.after().html('<label>Textbox #'+ counter + ' : </label>' +
            '<input type="text" name="textbox' + counter + 
            '" id="textbox' + counter + '" value="" >');

        newTextBoxDiv.appendTo("#TextBoxesGroup");
        counter++;
    });

    $("#removeButton").click(function () {
        if(counter==1){
            alert("No more textbox to remove");
            return false;
        }   
        counter--;
        $("#TextBoxDiv" + counter).remove();
    });

    $("#getButtonValue").click(function () {
        var msg = '';
        for(i=1; i<counter; i++){
            msg += "\n Textbox #" + i + " : " + $('#textbox' + i).val();
        }
        alert(msg);
    });
});

<div id='TextBoxesGroup'>
    <div id="TextBoxDiv1">
        <label>Textbox #1 : </label>
        <input type='text' id='textbox1' >
    </div>
</div>
<input type='button' value='Add Button' id='addButton'>
<input type='button' value='Remove Button' id='removeButton'>
<input type='button' value='Get TextBox Value' id='getButtonValue'>
$(文档).ready(函数(){
var计数器=2;
$(“#添加按钮”)。单击(函数(){
如果(计数器>10){
警报(“仅允许10个文本框”);
返回false;
}   
var newTextBoxDiv=$(document.createElement('div')).attr(“id”,“TextBoxDiv”+计数器);
newTextBoxDiv.after().html('Textbox#'+计数器+':'+
'');
newTextBoxDiv.appendTo(“#textboxsgroup”);
计数器++;
});
$(“#移除按钮”)。单击(函数(){
如果(计数器==1){
警报(“不再需要删除文本框”);
返回false;
}   
计数器--;
$(“#TextBoxDiv”+计数器).remove();
});
$(“#getButtonValue”)。单击(函数(){
var msg='';
对于(i=1;i第一种溶液:

你的意思是说你想将'msg'变量传递到下一页?好的,如果你使用表单,那么这个问题将通过使用隐藏输入类型“”发送,并使用jquery,如$('#passVar').val(msg)将其传递到其值属性中。因此,当你提交表单时,这个值将使用post方法获得

第二种解决方案


如果您想直接在java脚本或jquery中获取该值,那么您必须创建一个js文件,在该文件中创建一个java脚本全局变量,该变量将在两个页面上使用。在这种情况下,“msg”将是全局变量,因此在该变量中分配的任何值都将很容易在下一个页面中获取。

传递java脚本的一种方法在不接触服务器的情况下从一个页面到下一个页面的脚本变量是使用localstorage

第一页:

// set
localStorage.setItem('counter', counter);
第二页:

// retrieve
var counter = localStorage.getItem('counter');

这在IE8(包括IE8)以下的所有浏览器中都受支持。Java不是JavaScript。很抱歉,脚本就是这样产生的。我忘了提到我想捕获一个MySQL表的总计数,并将文本框数据捕获到另一个表中,以防有人怀疑。谢谢。