表单未提交,单击“提交”按钮时没有任何反应

时间:2019-11-21 16:55:16

标签: jquery django

我的表单只是不想提交。

我的表单如下:

<form id="courseform" name="courseform" class="fs-form fs-form-full" autocomplete="off" method="POST" action="{% url 'checkout' %}">
{% csrf_token %}
<input type="hidden" name="useremail" value="{{useremail}}">

<button id="fs-submit-button" class="fs-submit" type="submit">Continue to payment</button>
</form>

在页面的最后,我有我的JavaScript:

$(".fs-submit").click(function(e) {
    $('#courseform').submit();
});

在我的基础项目urls.py中:

from users import views as user_views

urlpatterns = [

    path('checkout/', user_views.checkout, name='checkout'),

] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

单击按钮时绝对没有任何反应。控制台中没有javascript错误,什么也没有。

5 个答案:

答案 0 :(得分:2)

您可以通过以下两种方式正确执行此操作。两者几乎相同。除非您将其用于某些错误处理/验证等,否则您将不再需要该JQuery函数。

  1. 在表单元素外使用for n =1 to 1000000 ... Sensor_Top=arr(n,2) Age =arr(n,4) Material =arr(n,78) output =Sensor_Top+Age*Material arr(n,1) =output ... next n
button
  1. 使用<form id="courseform" name="courseform" class="fs-form fs-form-full" autocomplete="off" method="POST" action="{% url 'checkout' %}"> {% csrf_token %} <input type="hidden" name="useremail" value="{{useremail}}"> </form> <button id="fs-submit-button" value="Submit" form="courseform" class="fs-submit" type="submit">Continue to payment</button> 标签和<input>
type="submit"

答案 1 :(得分:0)

首先,我想确认一下。您是否使用ajax加载此表单? 如果是,则可以尝试使用

$(document).on("click", ".fs-submit", function(e) {
    $('#courseform').submit();
});

因为

object.click(function(e){});

不能用于由ajax加载的表单。

答案 2 :(得分:0)

对不起,但是看起来这个问题没有简单的答案。但是,我确实在其中一个JS文件中找到以下内容:

git diff --stat --other-git-diff-args -- $(find . -type f -depth 1 -print0 | tr '\0' ' ')

但是,在注释掉之后,表格仍未提交。 javascript中没有其他此类函数或事件侦听器,因此该问题很可能是由核心Django中的某些问题引起的。

答案 3 :(得分:0)

也许某些事件停止了您的提交事件。 您可以检查什么监听您的表单提交事件。

var item = $('form');
for(var i=0; i < items.length;i++)
{
    var elem = items[i];
    var data = jQuery.hasData( elem ) && jQuery._data( elem );
    console.log(data.events);
}

结束检查以安慰您正在监听的提交事件。

答案 4 :(得分:0)

对于Aspx Web表单

如果使用ajax更新面板并且您的按钮单击位于$ {document)中,则在部分回发后,按钮单击将停止触发。 您可以将代码移至Sys.Application.add_load(),以使代码在部分回发后可以正常工作。

  $(document).ready(function() {
    Sys.Application.add_load(){

     };      
    });

或者您也可以检查点击附带的事件列表器 https://developers.google.com/web/updates/2015/05/get-and-debug-event-listeners

相关问题