相关疑难解决方法(0)

如何使用jQuery获取焦点元素?

使用jQuery,我如何获得具有插入符号(光标)焦点的输入元素?

或者换句话说,如何确定输入是否具有插入符号的焦点?

javascript jquery element cursor caret

333
推荐指数
4
解决办法
31万
查看次数

jQuery:如何在表单提交时点击哪个按钮?

.submit()为表单提交设置了一个事件.我在页面上也有多个表单,但这个例子只有一个.我想知道在没有.click()向每个提交事件应用的情况下点击了哪个提交按钮.

这是设置:

<html>
<head>
  <title>jQuery research: forms</title>
  <script type='text/javascript' src='../jquery-1.5.2.min.js'></script>
  <script type='text/javascript' language='javascript'>
      $(document).ready(function(){
          $('form[name="testform"]').submit( function(event){ process_form_submission(event); } );
      });
      function process_form_submission( event ) {
          event.preventDefault();
          //var target = $(event.target);
          var me = event.currentTarget;
          var data = me.data.value;
          var which_button = '?';       // <-- this is what I want to know
          alert( 'data: ' + data + ', button: ' + which_button );
      }
  </script>
</head>
<body>
<h2>Here's my form:</h2>
<form action='nothing' method='post' name='testform'>
  <input type='hidden' …
Run Code Online (Sandbox Code Playgroud)

forms jquery

218
推荐指数
13
解决办法
26万
查看次数

表单onSubmit确定按下了哪个提交按钮

我有一个带有两个提交按钮和一些代码的表单:

HTML:

<input type="submit" name="save" value="Save" />
<input type="submit" name="saveAndAdd" value="Save and add another" />
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

form.onSubmit = function(evnt) {
    // Do some asyncrhnous stuff, that will later on submit the form
    return false;
}
Run Code Online (Sandbox Code Playgroud)

当然,这两个提交按钮可以完成不同的事情.有没有办法找出onSubmit按下哪个按钮,所以稍后我可以提交thatButton.click()

理想情况下,我不想修改按钮的代码,只是有一个具有此行为的纯javascript插件.

我知道FF有,evnt.explicitOriginalTarget但我找不到其他浏览器的东西.

html javascript

93
推荐指数
6
解决办法
13万
查看次数

确定从jQuery/JavaScript中单击了哪个提交按钮

我正在从我没写的PHP应用程序中获取一些表单.为此,我提出了这个聪明的解决方案:

jQuery("form").submit(function(event) {
    // get some values from elements on the page:
    var the_form = jQuery(this);
    var data = the_form.serialize();
    var url = the_form.attr( 'action' );
    var button = event.originalEvent.explicitOriginalTarget;

    data = data + "&" + button.name + "=" + button.value;

    // Send the data using post and put the results in a div
    jQuery.post( url, data, function() {
        //Do something crazy
    });

    // stop form from submitting normally
    if (event.preventDefault) 
    { 
        event.preventDefault(); 
    } 
    else 
    {
        event.returnValue = false; 
    } …
Run Code Online (Sandbox Code Playgroud)

javascript jquery cross-browser

14
推荐指数
1
解决办法
1万
查看次数

如果在同一表单上有多个提交按钮,如何使用onsubmit()显示确认?

<form onsubmit="return confirm('Are you sure you want to rollback deletion of candidate table?')">
<input type='submit' name='delete' value='Undo' />
<input type='submit' name='no' value='No' />
Run Code Online (Sandbox Code Playgroud)

当用户点击第二个提交按钮时,即No我想将确认对话框显示为"您确定要提交交易吗".

html forms onsubmit

12
推荐指数
1
解决办法
7万
查看次数

chrome和IE 8的explicitOriginalTarget.id的替代方法

我正在尝试找到一种跨浏览器兼容的方法,以挑选在具有两个不同提交按钮的表单提交过程中单击的按钮的id属性。我可以使用以下代码为FireFox完成此操作,但由于它们不支持explicitOriginalTarget,因此无法在IE 8或Chrome中运行。

   $("#postForm, #dialogPostForm, #pastPostForm").live('submit', function(event) {
     event.preventDefault();
     if (event.originalEvent.explicitOriginalTarget.id === 'pastPosts'){
     ...SNIP...
Run Code Online (Sandbox Code Playgroud)

有人可以建议使用兼容跨浏览器的方法吗?

更新我尝试使用“ 如何获取导致表单提交事件中的提交的按钮”中的答案,但我想使用.live jquery方法并使用事件对象选择原始输入的提交ID。

更新这是我试图从中获取原始提交按钮ID的表单:

<form id="postForm" action="{% url account_tracker mashup.pk %}?fuzzy=true" method="post">
    <div class="mygoal">Update Your Progress: {{ form.post }}
    <input type="submit" value="+  1" class="formbtn" style="font-size:18px;"/>
    <input type="submit" value="This week" style="font-size:18px;" id="pastPosts" class="formbtn"/>         
    <span id="result" class="results"></span>
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

更新我想出了自己的解决方案。添加一个onclick属性,该属性将“名称”属性添加到表单。然后在表单处理中检查表单名称是否为“过去”,并对其进行处理,然后在表单完成处理后删除该属性。据我所知,这适用于所有浏览器。

 <input type="submit" value="This week" style="font-size:18px;" id="pastPosts" class="formbtn" onclick="$('#postForm').attr('name', 'past');" />
Run Code Online (Sandbox Code Playgroud)

javascript jquery internet-explorer-8

6
推荐指数
1
解决办法
5030
查看次数

jQuery表单提交:有什么方法可以知道触发提交的元素是什么?

我正在使用asp.net MVC,当我提交表单时,之前的开发人员已经嵌入了一些jQuery验证.

$('form').submit(function() {
    ...code done here to validate form fields
});
Run Code Online (Sandbox Code Playgroud)

问题是表单上的"保存"和"取消"按钮都会触发此提交jQuery函数.如果触发"取消"输入按钮,我不想激活验证逻辑(id ="cancel"name ="cancel"value ="cancel").有没有办法在这个提交函数中,我可以检索按下哪个输入按钮提交表单的ID,名称或值?

javascript forms jquery

4
推荐指数
1
解决办法
5061
查看次数

根据提交按钮更改表单操作

我有很多表单,如页面上的以下内容.现在我想根据用户点击的提交按钮更改表单操作(当然还要提交表单)

<form action="/shop/products.php" data-ajax="false" method="post">
    <div data-role="fieldcontain">

        <input name="submit" class="obutn" type="submit" value="Order" />
        <input name="submit" class="oEbutn" type="submit" value="Extras" />

    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

我试过了

$(".obtn").click(function() {
    $(this).parent().parent().attr("action", "/shop/products.php");     
});
$(".oEbtn").click(function() {
    $(this).parent().parent().attr("action", "/shop/extras.php");       
});
Run Code Online (Sandbox Code Playgroud)

但表格总是提交到products.php.你能告诉我什么是错的吗?

javascript forms jquery

4
推荐指数
2
解决办法
1万
查看次数

Javascript onsubmit与带有多个提交按钮的表单

我有一个带有两个提交按钮的表单,一个叫做'display',另一个叫'disenrol'.显示提交不需要确认,而另一个确实.本来我打算用

onsubmit="return confirm('Are you sure you want to remove the modules?');"
Run Code Online (Sandbox Code Playgroud)

但当然这不起作用,因为它对两个提交都做出了反应.有没有办法可以指定哪些提交应该值得?(我对javascript很新,所以请对我温柔)

谢谢

javascript

3
推荐指数
1
解决办法
1668
查看次数

如何通过JQuery提交表单时单击提交按钮

我有一个带有2个提交按钮的表单.

<form class="myForm">
     <!-- Some Inputs Here -->
     <input type="submit" name="firstSubmit" value="first submit" />
     <input type="submit" name="secondSubmit" value="second submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

我通过JQuery提交此表单.

$(".myForm").submit(function(){
      var submitButton = ? //I need to catch the submit button that was clicked
});
Run Code Online (Sandbox Code Playgroud)

我怎么知道点击了哪个提交按钮?

html javascript forms jquery form-submit

3
推荐指数
3
解决办法
9939
查看次数

jQuery,阻止表单提交从输入但允许通过按钮单击提交表单

我有一个表单,在输入文本框中我输入一个数字,然后按ENTER键,我使用jQuery将值附加到textarea.一切正常.

我遇到的问题是,如果我添加一个提交按钮来提交表单,只要我按下ENTER,它就会提交表单.

我想要它做的不是在按Enter键时提交表单,而是仅在单击提交按钮时提交表单.

我尝试过使用preventDefault()并返回false,这将停止按Enter键提交表单,但如果我在提交按钮上添加一个click事件来提交表单,它什么都不做.我在提交之前在点击功能中发出警报,但是火灾但表格没有提交

<form id="toteform" method="post" action="blah.php">
    <input type="text" name="bin" id="bin" maxlength="4" autocomplete="off" />

    <input type="text" name="totes" id="tote" maxlength="4" autocomplete="off" />

    <input type="button" name="submit" class="submit" id="submit" value="Submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

jQuery的

$("#submit").click(function() {
    $('#toteform').submit();
});

$('#bin').focus();

$('#bin').keypress(function(e) {
    if(e.which == 13) {
        $('#tote').focus();
    }
});

$('#tote').keypress(function(e) {
    if(e.which == 13) {

    // more code here to do other things
Run Code Online (Sandbox Code Playgroud)

forms jquery keypress submit form-submit

1
推荐指数
1
解决办法
1万
查看次数