Jquery模态表单输入错误

时间:2011-08-09 19:55:51

标签: forms jquery-ui modal-dialog jquery-ui-dialog

摘要:打开对话框窗口时,对话框包含一个表单,但INPUT字段不允许输入文本。当我按下一个键并且光标在文本字段中时,FireBug控制台报告以下错误:

  

不应使用keydown事件的'charCode'属性。价值毫无意义。   /lemonade_stand/start.php第0行

窗口打开时我也看到了这个错误:

  

未知的伪类或伪元素'tabbable'。   /lemonade_stand/start.php第0行

似乎某些过度事件正在聆听按键。我发现了一篇文章,建议我“从div中删除ui-dialog类”,但即便尝试也无济于事。

代码示例:

对话框的定义

var $priceWindow = $("#setPriceWindow").dialog({
    autoOpen: false,
    height: 306,
    modal: true,
    width: 380,
    buttons: {
        "Save": function(){
            $.get('php/saveQA.php',
            {
                'cup': $("#pCup").val(),
                'lemons': $("#pLemons").val(),
                'sugar': $("#pSugar").val(),
                'ice': $("#pIce").val(),
            });
            $(this).dialog('close');
        },
        Cancel: function(){
            $(this).dialog('close');
        }
    }
});

打开对话框的事件

$("#setPrice").click(function(e){
    e.preventDefault();
    $priceWindow.dialog('open');
});

对话框的PHP / HTML内容

<div id="setPriceWindow" class="priceWin" title="Set Price and Quality">
    <form>
    <ul>
        <li><label>Price Per Cup</label><span><span><input type="text" size="3" id="pCup" tabid="1" value="<?php echo $_SESSION['qa']['cup']; ?>" /><p>Cents</p></span></span></li>
        <li><label>Lemons Per Pitcher</label><span><span><input type="text" size="3" id="pLemons" tabid="2" value="<?php echo $_SESSION['qa']['lemons']; ?>" /><p>Lemons</p></span></span></li>
        <li><label>Sugar Per Pitcher</label><span><span><input type="text" size="3" id="pSugar" tabid="3" value="<?php echo $_SESSION['qa']['sugar']; ?>" /><p>Cups</p></span></span></li>
        <li><label>Ice Per Cup</label><span><span><input type="text" size="3" id="pIce" tabid="4" value="<?php echo $_SESSION['qa']['ice']; ?>" /><p>Cubes</p></span></span></li>
    </ul>
    </form>
</div>

可在此处查看完整项目:http://yrmailfrom.me/games/lemonade_stand/start.php

1 个答案:

答案 0 :(得分:0)

问题在于你的game.js脚本。

$("#setPrice").click(function(e){
e.preventDefault(); **// THIS LINE IS CAUSING THE TROUBLE**
$priceWindow.dialog('open');
});

同样在lemonade_game.css中尝试从此块中删除zIndex

div#setPriceWindow ul li span {
    background: none repeat scroll 0 0 #F9F9F9;
    border-left: 1px solid #CCCCCC;
    border-right: 1px solid #BBBBBB;
    margin: 0;
    padding: 3px 0;
}