2011-07-15 14 views
0

jQueryの使用以前は無効になっていたボタンを送信したいと思います。 disableのattrを削除すると、.click()が実行され、次のページに私を送信しません。しかし、私がalert("XYZ");を実行した場合、.click()は私を次のページに送ります。私はこれを無効にしてからクリックする(クリックイベントが発生する前に無効にしていない)時間がかかると仮定します。削除ボタンをクリックしてから無効にする

「壊れた」動作の動作例http://jsfiddle.net/LmFjd/71/ - これは私のコード設定と正確には私のために働いていない方法です。それはonsubmitイベントをトリガーしますが、実際には送信しません。期待される動作の

実施例:あなたはそこに.show()を入れた場合、それは動作します:http://jsfiddle.net/LmFjd/70/

removeAttrとクリック()それが動作する間に警告があり、そうでない場合はクリックトリガーをしません。

説明のため、jquery-1.5.1.min.jsを使用しています。 Apache Tomcat 6.0.29を使用したJSPページです。これは、Spring MVCのWebAppの、と私はjQueryのUIのダイアログ内のセクションでは、ボタンを却下使用してい

ハックソリューション.click()はそれが仕事になり.show()の前に置きます。

+5

問題を示す実際のコードを入力してください。 – user113716

+0

'.attr()'は同期式なので、 'click()'の後続の呼び出しは 'attr()'が完了するまで起動しません。 [Example。](http://jsfiddle.net/LmFjd/)タイミングの問題がある場合は、いくつかの*非同期*コードが導入されている可能性があります。 – user113716

+0

#1。そのウェブサイトは素晴らしいパトリックです、私を紹介してくれてありがとう。 #2。与えられたコードはそのサイトでは動作しますが、私の上では動作しません。確かではありませんが、タイミング問題ではありません。 – Nicholas

答えて

0

あなたのことを行うためにJQueryを使って行うことができることは2つあります。無効にする=無効にして文書を使用する準備ができています。次のとおりです。

$(document).ready(function() { 
    $('#edit').hide(); 
    "Discard changes": function() { 
     $(this).dialog("close"); 
     alert(actionButton); 
     $('#edit').show(); 
    } 
}); 
+0

私は何かを試してみて、それがうまくいくことを笑わせてくれました。私がボタンの前に.show()を置くと、ボタンがすでに表示されているにもかかわらず、まだそれを引き起こします... – Nicholas

+0

http://lawmirror.com/books/でこのことを行うための正確なコードを提供できますか? order.php?passed =&book = dipc08適切なコードがないと、3つのフォームがあり、ユーザーが必要としているものとは違って表示されます。何が間違っているのかわかりません。 – Vineet1982

+0

http://jsfiddle.net/LmFjd/71/例があります。 – Nicholas

関連する問題