问题标签 [form-submit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
70827 浏览

jquery - 来自 JavaScript 函数的 MVC jQuery 提交表单(不刷新页面)

我对这一切都很陌生。我正在使用 ASP.NET MVC C# LINQ to SQL

我有一个加载作者及其所有书籍的编辑页面。这些书籍是通过Ajax调用加载的。

这部分工作正常。页面加载作者信息,然后加载图书(DIV id="Books" 中的部分视图,仅包含图书类别和图书标题):

现在,在主视图页面上,我想要一个链接。单击链接时,我想通过 JavaScript/jQuery/Ajax/whatever 做一些事情。我想要发生的第一件事是从局部视图提交 Books 表单(id = booksform),然后继续执行下一个jQuery函数。因此,我单击了一个调用 JavaScript 函数的链接。这个函数应该调用/执行/执行 Books 表单的提交。

我觉得我已经尝试了所有方法,但是如果没有进行整页提交/刷新,我就无法提交和处理我的 Books 表单。(注意,当完整提交确实发生时,我期望控制器中的操作会成功处理)。我希望控制器进程/操作只返回某种成功/失败指示。(然后我可以再次调用“LoadBooks();”来刷新页面上的 DIV。

有任何想法吗?

0 投票
3 回答
6637 浏览

perl - 提交表单后如何使用 WWW::Mechanize 下载文件?

我有代码:

它在页面上提交下载按钮,但我不确定如何下载 POST 后发回的文件。

如果可能的话,我想要一种用 wget 下载它的方法。我在想他们可能是通过了一个秘密网址还是什么?还是我必须直接从响应流中使用 LWP 下载它?

那么如何下载该标题中的文件?

谢谢,

科迪·古德曼

0 投票
1 回答
688 浏览

ajax - IE7 onSubmit 在函数中返回 false 可能会失败?

我在google上找到了这个论坛帖子,但是这里似乎没有人遇到同样的问题,所以我想知道onsubmit='return false;' 在某些IE7浏览器中确实失败了,这意味着自从IE7发布以来,它已经成为一种不可靠的防止直接以ajax形式回传的方法,所以我们需要非常小心使用它吗?

0 投票
3 回答
11649 浏览

html - 如何从没有 JS 的链接进行 HTTP POST

如果 JS 被禁用,有什么方法可以从链接提交 POST 请求?

到目前为止的想法(没有一个是完美的)

  1. 使用 <input type='submit>,但我需要链接而不是按钮
  2. 使用 <a href='' onclick='form.submit()' > 但这依赖于 JS
  3. 再次使用 <input type='image'> ... .. 不是真正的链接

对于没有 JS 的浏览器,我需要一种后备方法,而我的这些“按钮”区域对于按钮或图像来说太小了

0 投票
2 回答
737 浏览

javascript - 自动提交 Web 表单(查看 Javascript,但欢迎使用其他方法)

自动提交表单最有效的方法是什么?我这样做是出于相当合法的目的(好吧,相关网站没有向一大群人发送邮件的选项,所以我正在尝试自己解决问题。但这不是垃圾邮件。)

我确实记得——在我玩基于网络的 MMORPGS 的日子里——存在着纯基于 Javascript 的工具,可以让您自动提交表单。但我从来没有弄清楚这些工具是如何工作的,我也不再拥有源代码。

所以我自己做了一个尝试——我尝试在 IFrame 中打开表单页面,并尝试从在父窗口中运行的脚本提交表单。但很快就发现我无法从在不同域中运行的脚本访问框架内容。

我正在考虑将必要的页面复制到我的计算机并从那里进行修改,目的是让我控制输入法,但仍将生成的数据发布到服务器。然而,这似乎又长又复杂——必须追踪许多依赖关系。有没有更好的办法?

最后,我在谷歌上的努力也出现了 libcurl,它允许我通过在我的脚本中模拟浏览器来做到这一点。但它看起来并不那么容易使用。

编辑:我最熟悉的语言:C++ 和 Python。对 PHP 有一定的了解。我怀疑我会为此使用 C++。

0 投票
1 回答
2042 浏览

jquery - jQuery - 多个表单提交触发无关的多个错误消息

我的 php 页面上有几个表格。我正在使用 jQuery (& Ajax) 来处理这个页面并显示结果。让我们将这些表单称为:ToDo 和 Register 表单。我已将提交事件附加到两个表单,以便在提交时进行相应的处理。ToDo 表单位于页面顶部,Register 表单位于页面底部。这些表单正上方有相应的标签,用于在处理表单时显示错误/成功消息。div #result_todo 显示提交 ToDo 表单时得到的错误。div #result 显示提交注册表时得到的错误。

实际问题: 假设我尝试在不填写任何信息的情况下提交 ToDo 表单。正如预期的那样,我的相关 php 文件处理提交的信息并在 div #result_todo 中显示错误。此 div 中有一个交叉图像,单击该图像时,单击时会从用户显示中淡出完整的 div #result_todo (以及它的错误)。现在,当我滚动到我的注册表单并尝试在不填写任何信息的情况下提交它时,正如预期的那样,我的相关 php 文件会处理提交的信息并在 div #result 中显示错误。现在的问题是,即使是 div #result_todo 也出现了其中的错误,而实际上它不应该出现。这是不需要的,因为我只想提交注册表单,并且我必须只显示与此表单相关的错误,而不是 ToDo 表单。

为了减少编码量,我正在调用该函数以在表单提交的成功事件(?)中显示错误消息。所以我觉得这可能是哪里出了问题。我对 jQuery 和 javascripting 很陌生,所以请多多包涵。代码如下:

请建议我一个可能的解决方案来解决这个问题,同时有效地利用这些功能来减少实现共同目标可能需要的编码量(比如显示结果及其相应的效果)。

先感谢您。

0 投票
1 回答
4799 浏览

jquery-validate - WordPress 联系表 7:发送按钮未提交,重定向到同一页面(jquery / 锚导航)

我正在开发一个使用 jquery.slideto.js 导航系统和 html 锚点的 WordPress 页面。我正在使用 Contact Form 7 插件

当按下“发送”按钮时,表单不会提交,并且包含的​​ jQuery 验证脚本不会触发。相反,它只是重新加载当前页面而不提交。

我已经在另一个页面上包含了表单,没有所有额外的代码,并且表单确实发送了,但是 jQuery 验证都不起作用,它通过将“#wpcf7-f1-p93-o1”附加到当前 URL 来导航到新页面

我在我的模板文件中使用以下代码

问题页面的网址是:www.beattrainsoundsystem.com/home#contact(或点击导航中的“联系”链接)

工作但有问题的页面的网址是:www.beattrainsoundsystem.com/test

我已经禁用了除联系表格 7 之外的所有 wordpress 插件,以及除 jQuery 之外的所有脚本,以缩小问题的根源。我确实需要在周一继续开发,因此在接下来的 24 小时内(从周日 @ 东部标准时间凌晨 1:48 开始)它将处于调试模式。非常感谢你的帮助!

如果您需要我对页面进行任何更改以帮助您进行调试,请告诉我。

0 投票
2 回答
933 浏览

jquery - 通过复选框启用提交的多个表单

首先,家政服务:快速回顾让我认为这不是重复的,但很高兴得到纠正。

我有一个 ASP.NET MVC 应用程序,它有一个包含多个表单的页面,每个表单都有一些文本字段、一个协议复选框和一个提交按钮。如果没有为每个表单单独选中协议复选框,我想禁用提交按钮。我已经让它工作了,但我觉得我错过了一些优雅的东西,而且我知道这里有人比我更擅长 JQuery。

这是我正在工作的代码:

您可以看到代码在页面准备就绪时运行,选择页面上的所有“表单”并将单击处理程序附加到每个表单中的每个协议复选框。我一直在努力,并且看起来特别不优雅的是从触发点击事件的复选框对象返回父表单对象,然后到兄弟(复选框)提交按钮以禁用它的方法。如果有人能提出更好的解决方案,那么我已经准备好接受教育了!

0 投票
1 回答
1350 浏览

javascript - 使用 JavaScript 时强制 Safari 表单自动填充条目以防止表单提交

我希望 Safari 的表单自动填充功能在我的网络应用程序中的表单上工作。我们所有表单的提交事件都被阻止,而是通过 XHR (Ajax) POST 将数据发送到服务器

问题是,Safari 在其自动填充(自动完成)“数据库”中创建新条目的默认设置要求表单的提交事件一直触发冒泡。根据我的测试,这是我得出的结论,适用于表单 GET 和 POST 方法。

Firefox 中不存在此问题;我们所有的表单都保留了之前为每个字段“提交”的值。这是我们在 Safari 中想要的行为。

在我们的应用程序中,用户将在多个会话中多次填写相同的表单。在某些情况下,浏览器根据用户先前提交的值自动完成(在 Safari 中为自动填充)这些字段会很有用。

我想知道是否还有其他人在 Safari 上遇到过这个问题?如果他们有一个解决方案(即使是特定于 Safari)告诉(或强制)Safari 将表单字段值保存到它的自动填充数据库中,即使表单的提交事件被阻止,情况也会更好?

我已经在 DOM 中尝试了 preventDefault() 更高层,让提交事件冒泡到表单的父 DOM 节点;行为上没有区别。这可能只是 Safari 中的一个错误……</p>

0 投票
1 回答
236 浏览

asp.net-mvc - 在 ASP.Net MVC 中使用一个提交按钮保存一系列创建表单

就我的问题提供一些背景信息:

我有 3 个表,分别称为 Products、Packages 和 PackageContents。我可以进入我的应用程序并添加产品,然后我可以从中创建包。设置包的步骤之一是创建所有包内容。为此,我创建了一个贯穿所有产品的视图,并为每个产品设置了一个新的包内容 - 将 packageID 和 productID 放置在隐藏字段中。然后,用户可以为每个选项选择一个下拉列表,以指示产品是否在包装中。

这是我的问题:

这会为每个产品呈现一个单独的表单,每个产品都有自己的保存按钮。我想要一个提交按钮,可以一次保存所有新的包内容。有人可以给我一个例子,说明如何编写我的 POST 方法来循环并保存所有新的包内容,以及如何在我的视图中创建一个按钮来一次保存所有这些内容?

我的模型:

控制器:

风景:

编辑

我决定发布最终为我工作的代码,以防其他人出现并需要相同的帮助:

我的观点:

我的控制器: