即兴通过国家之间的变量

时间:2013-10-24 20:47:21

标签: jquery impromptu

我目前正在使用Impromptu进行网站上的表单处理。但是,我在不同状态之间传递变量信息时遇到了麻烦。我不完全确定它是否可能。但我想要做的是从第一个状态中提取变量信息并将其显示在第二个状态的输入框中。可以这样做吗?

测试代码:

<script>

function stateAttempt(id){

    var displayDrop;

    var txt = '<div class="field"><label for="dropDownValueName">Drop:</label>'+
    '<select name="dropDownValueName">'+
    '<option value="DropDownValue">Drop Down Option</option>'+
    '</select>'+
    '</div>';

    var txtTwo = '<div class="field"><label for="address">Value:</label> <input type="text" id="address" name="address" value="'+ displayDrop +'" /></div>';

var statesdemo = {
    state0: {
        title: 'State One',
        html: txt,
        buttons: { Cancel:false, Next: 1 },
        submit:function(e,v,m,f){           
            if(v){  
                flag = true;
                if (flag == true) {

                    console.log(f);

                     window.displayDrop = f.dropDownValueName; 

                    e.preventDefault();
                    $.prompt.goToState('state1');

                } else { return false; }

            } else {                
                $.prompt.close();
            }
        }
    },
    state1: {
        title: 'State Two',
        html: txtTwo,
        buttons: { Cancel: 1, Back: -1 },
        submit:function(e,v,m,f){           
            if(v){  
                if (flag == true) {

                    console.log(f);

                    e.preventDefault();
                    if(v==1) $.prompt.close();
                    if(v==-1) $.prompt.goToState('state0');

                } else { return false; }

            } else {                
                $.prompt.close();
            }
        }
    },
};

$.prompt(statesdemo);
}

</script>

<a href="#" onclick="stateAttempt();">Display Prompt</a>

1 个答案:

答案 0 :(得分:1)

Geez,我一直在研究这个问题几个小时,发现在“$ .prompt.goToState('state1');”之前添加了这个。工作原理:

jQuery.prompt.getStateContent('state1').find('#address').val(f.dropDownValueName);