Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中不使用表单操作而形成提交的最佳方式_Javascript_Jquery_Html_Jquery Mobile_Cordova - Fatal编程技术网

在JavaScript中不使用表单操作而形成提交的最佳方式

在JavaScript中不使用表单操作而形成提交的最佳方式,javascript,jquery,html,jquery-mobile,cordova,Javascript,Jquery,Html,Jquery Mobile,Cordova,我正在使用JavaScript、HTML和jQuery Mobile构建一个PhoneGap应用程序 所有HTML都在同一个文件中,分成页 几个页面有一个表单,包括一个或多个文本/选择输入和一个提交按钮 submit不是一个传统的表单提交按钮,而是一个使用onClick运行JavaScript函数的按钮,它可以做很多事情 我希望表单具有以下功能: 按下按钮并运行功能后,清除表单 在某些情况下,该函数应更改页面 其中一个输入上的输入按钮应提交表格(激活功能) 我应该使用表单HTML标记吗?如果是,

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

所有HTML都在同一个文件中,分成

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

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

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

  • 按下按钮并运行功能后,清除表单
  • 在某些情况下,该函数应更改页面
  • 其中一个输入上的输入按钮应提交表格(激活功能)
  • 我应该使用表单HTML标记吗?如果是,我应该用什么来采取行动?如何清除表格?
    等等。

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

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

    type="button"
    
    否则,默认情况下按钮将提交表单

    要重置表单,请执行以下操作:

    function resetForm() {
        $('#form').each(function(){
                this.reset();
        });
    }
    

    如果您试图将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>
    
    
    
    我不会使用
    type=“button”
    ,尤其是当用户按下
    enter
    时,如果您希望表单提交的机会最大

    使用常规表单
    ,然后使用JavaScript:

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

    通用小提琴:

    什么是woot.php?为什么要发帖?很抱歉,我是一名PHP web开发人员,woot.PHP将是表单提交到进行数据处理的文件。POST是将数据传输到woot.php的方法。我以前从未使用过phoneGap,但在快速浏览了他们的网站和产品后,我意识到标签可能不是必需的。稍后我将用JSFIDLE进行回复。如何重置表单?在表单中按enter键时,如何使提交按钮成为要单击的按钮?如果按此方法,您可能希望有几个按钮,每个功能一个。我误解了这个问题。我以为他不想提交表格。