无法将textbox var counter total传递给下一页

时间:2014-04-15 06:39:25

标签: javascript php session

上周末我在网上找到了这个脚本。但是,阅读有关如何将计数器总计传递到下一页的所有选项都无效。 我在网上和Stack Overflow上查看了所有可能的方法。不幸的是,大多数情况下,脚本最终都无法运行。 我尝试使用echo $_SESSION['msg'];echo $_SESSION['counter'];在下一页上捕获它。我也试过弄乱$msg行。 <?php echo $counter ?>也不会像包括这个网站在内的多个网站中提到的那样起作用。回显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'>

2 个答案:

答案 0 :(得分:0)

将JavaScript变量从一个页面传递到下一个页面而不触及服务器的一种方法是使用localstorage。

第一页:

// set
localStorage.setItem('counter', counter);

第二页:

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

所有浏览器都支持此功能,包括IE8

答案 1 :(得分:-1)

第一个解决方案:

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

第二个解决方案

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