1

download.cnet.com のログイン/パスワードを忘れた場合のポップアップに似たものを作成しようとしています。私のコードは実際には問題なく動作しますが、落とし穴があります。入力時に機能させることはできません。フォームは送信されますが、ajax 呼び出しはスキップされます。

この点で、送信ボタンを削除し、div代わりに a を使用しました。次にクリックすると:

$('#loginButton').click(function(){
  // ajax call check for existing record via cfc 
  // and returns true or false after which the appropriate 
  // actions are taken depending on returned value. 
  }
)};

すべてが正常に動作しますが、cnet の担当者がどのように入力して動作させたのか疑問に思っていました。彼らのウェブサイトをチェックすると、私が話していることがわかります。

4

3 に答える 3

0

cnetでのcnetのログイン、およびパスワードの紛失機能について言及している場合、ウィンドウがポップアップし、そのフォームのコンテンツをiframeで読み込んでいるように見えます。

理論的には、iframeを使用してカラーボックスをロードし、iframe内に送信してその情報を表示する場合、カラーボックスは閉じるまで開いたままにする必要があります。

于 2012-11-19T12:01:07.927 に答える
0

onsubmit ポップアップ ウィンドウが閉じると言います。これは、関数が実際に開始されることを意味する必要があります。

関数を調べて、cfc への呼び出しがスキップされている理由を確認することをお勧めします。実際にはそうです。また、それを理解したら、送信ボタンを元に戻します。HTML フォームのデフォルトの動作を変更することは、キーボードの使い方を知っている人々を単に悩ませます。

もう1つ。cfform を使用している場合は、フォームを js 関数に送信する必要がある場合があります。つまり、これの代わりに:

<cfform onsubmit="yourFunction()">

これを行う

<cfform onsubmit="yourFunction(this)">
于 2012-11-19T13:27:05.210 に答える
0

「入力」をクリックするとフォームが送信されるので、onSubmit も呼び出す必要があります。関数が機能しているように聞こえますが (ただし、コードを投稿していないため、誰の推測でもあります... 残念です)、ページの送信では、何が起こっているのかを確認できません。フォームの送信を停止したい場合は、 false を返す必要がありますonsubmit = "return yourFunction()"。関数が false を返すと、フォームの送信が妨げられます。

JavaScript フォームの検証を参照してください

于 2012-11-19T16:32:47.337 に答える