jquery .load()在Safari中不起作用

时间:2011-05-06 04:13:39

标签: jquery safari modal-dialog

我有一个模态窗口,在使用jquery方法单击链接后加载新内容.load()

除了safari之外,它适用于所有浏览器。我很难过。

JS

<script language="javascript">
function shipCalc() {
$('.jqmWindow').load("/ash/shop/shipping.php?zip=" + document.form9.zip.value);
}
</script>

HTML

<form name="form9" id="form9" method="post">
Zip: <input type="text" size="5" name="zip">
<a href="#" id="submitbtn" onclick= "shipCalc();" >zip</a>
</form>

我甚至尝试用$(document).ready调用函数shipCalc(),它会在所有其他相关浏览器(FF,Chrome,IE)中打开时立即切换模态的内容

这是怎么回事?它必须在我面前!

2 个答案:

答案 0 :(得分:1)

试试这个:

<script language="javascript">
  function shipCalc() {
    $('.jqmWindow').load("/ash/shop/shipping.php?zip=" + $("form[name='form9'] [name='zip']").val();
  }
</script>

希望这会有所帮助。干杯

答案 1 :(得分:0)

以下是一些提示:

首先,使用

$('#submitbtn').click(function() {
    shipCalc();
}

而不是a#submitbtn标记中的onclick属性,原因类似于为什么要避免使用常规javascript和jQuery表达式。

其次,您不应该通过URL传递数据;相反,使用load的data参数将数据传递到请求的文件(请参阅.load()方法中的{ } - {key : val}?key=val相同):< / p>

$(document).ready(function() {

    function shipCalc(val) {
        $('.jqmWindow').load("/ash/shop/shipping.php", {zip: val});
    }

    var value;
    $('#submitbtn').click(function() {
        value = $('#form9 input[name="zip"]').val();
        shipCalc(value);
    });

});

希望这有帮助!