0

我正在使用 JavaScript、HTML 和 jQuery Mobile 构建一个 PhoneGap 应用程序。

所有的 HTML 都在同一个文件中,分成<div data-role="page">页面。

几个页面有一个表单,包括一个或多个文本/选择输入和一个提交按钮。

提交不是传统的表单提交按钮,而是一个使用 onClick 运行 JavaScript 函数的按钮,它可以做很多事情。

我希望表单具有以下功能:

  1. 按下按钮并运行该功能后,清除表格。
  2. 在某些情况下,该功能应该更改页面。
  3. 其中一个输入上的输入按钮应提交表单(激活功能)。

我应该使用表单 HTML 标记吗?如果是这样,我应该采取什么行动?如何清除表格?等等

4

3 回答 3

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

您仍然可以使用表单标签,因为它对标记很有用。

只需确保您的按钮具有属性

type="button"

否则按钮将默认提交表单。

要重置表单:

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

如果您尝试将 onClick 绑定到输入 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 回答