2011-05-06 17 views
0

で働いていない私は、リンクをjqueryのメソッド.LOAD()jQueryの.LOAD()サファリ

それはサファリを除くすべてのブラウザで動作しているを使用してクリックされた後、新しいコンテンツをロードするモーダルウィンドウを、持っています。私は困惑している。

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> 

は私も.ready $(文書)で)shipCalc(関数を呼び出ししようとしたとするとき、それはすぐに、モーダルの内容を切り替えます他の関連するすべてのブラウザ(FF、Chrome、IE)で開かれています

ここでは何が起こっていますか?それは私の目の前に来なければならない!

+0

document.form9.zip.valueでvanilla jsの代わりにjqueryのセレクタを使用してみませんか? – corroded

+0

@corroded少し拡張することができますか?私は専門家ではありません。それぞれの限定知識を使用しています。 – livinzlife

+1

jqueryと通常のjavascriptが混在しています。 document.form9.zip.valueの代わりに$( '#form9 input [name = "zip"]')。val()を実行することで、jqueryのセレクタを使用することができます。なぜ振る舞いが矛盾しているのかちょうどちょうど – corroded

答えて

1

これを試してみてください:

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

は、この情報がお役に立てば幸いです。乾杯

+0

@corroded @EdgarVillegasAlvarado 私は、あなたがJSの代わりにjqueryセレクタをつけておくべきだと思っています。私はおそらくもっときれいですが、残念なことに私の問題を解決しません。さらに、私はサファリで普通のページ "/ash/shop/shipping.php"だけを読み込むこともできません。私がここにあるものを広げるために... ".jqmwindow"は、ショッピングカートの内容を表示するモーダルウィンドウです。私は船積みオプションをロードするモーダル内のリンクを持っているようにしようとしています。モーダルウィンドウに新しいコンテンツを読み込むために.load()メソッドを使用しました。どこでも使えますが、サファリ! – livinzlife

+0

.val()の後にコードに括弧がない –

0

ここでカップルのヒントです:

まず、あなたが定期的にJavaScriptとjQueryの表現を組み合わせる避けるべき理由と同様の理由で、あなたのa#submitbtnタグに代わりonclick属性の

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

を使用。

第2に、URLを通じてデータを渡すべきではありません。代わりに、(.LOADで{ }()メソッドを参照 - {key : val}?key=valと同じである)負荷のdataパラメータを使用して、要求されたファイルにデータを渡す:

$(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); 
    }); 

}); 

・ホープこのことができます!