0

JavaScript、HTML、および jQuery Mobile を使用して PhoneGap アプリケーションを構築しています。

すべての HTML は同じファイル内にあり、ページとして分割され<div data-role="page">ています。

いくつかのページには、1 つ以上のテキスト/選択入力と送信ボタンを含むフォームがあります。

送信は従来のフォーム送信ボタンではなく、onClick を使用して多くのことを実行できる JavaScript 関数を実行するボタンです。

フォームにこの機能を持たせたい:

  1. ボタンを押して関数を実行した後、フォームをクリアします。
  2. 場合によっては、関数がページを変更する必要があります。
  3. いずれかの入力の入力ボタンでフォームを送信する必要があります (関数をアクティブ化)。

form HTML タグを使用する必要がありますか? もしそうなら、私は行動のために何を使うべきですか?フォームをクリアするには?等

4

3 に答える 3

0

onClick を input type="submit" にバインドしようとしている場合は、うまくいきません。

残念ながら、そのボタンをクリックしたときに false または e.preventDefault を返しても、フォームは送信トリガーを送信するため、onClick コードが完了すると送信されます。

例:

<form action="woot.php" method="POST">
    <input type="submit" value="submit" onClick="alert('You clicked me! How could you?! It's cool the form will still go to woot.php. return FALSE wont help you either.'); return FALSE;">
</form>

おそらくやりたいこと:

<form action="woot.php" method="POST">
    <input type="submit" value="Submit" onSubmit="alert('You aint goin nowhere!'); return FALSE;">
</form>

あなたがすべきこと:

<form action="woot.php" method="POST">
    <input type="button" value="Button" onClick="alert('Away with you!'); window.location = 'http://www.google.com/';">
    <input type="button" value="Button" onClick="someCoolFunction();">
</form>
于 2013-07-17T19:23:04.503 に答える
0

type="button"特に、ユーザーが を押したときにフォームが送信される可能性を最大限に高めたい場合は、 を使用しませんenter

通常のフォーム<input type="submit">を使用してから、JavaScript を使用します。

$('form').submit(function(e) {
  // all your form handling here;
  if (your_form_was_validated_and_handled) {
    $('input[type!="submit"]').val('');
  }
  e.preventDefault();
});

一般的なフィドル: http://jsfiddle.net/

于 2013-07-17T19:23:37.270 に答える
0

form タグはマークアップに役立つため、引き続き使用できます。

ボタンに属性があることを確認してください

type="button"

それ以外の場合、ボタンはデフォルトでフォームを送信します。

フォームをリセットするには:

function resetForm() {
    $('#form').each(function(){
            this.reset();
    });
}
于 2013-07-17T19:07:45.207 に答える