如果JS被禁用,任何从链接提交POST请求的方法?
Ideeas到目前为止(没有一个完美)
对于没有JS的浏览器,我需要一个回退方法,而这些"按钮"的区域对于按钮或图像来说太小了
当我尝试捕获表单提交时,代码陷入循环.目的是在表单出来之前替换表单的值.
$('form').submit(function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: 'convert.asp',
data: $('form').serialize(),
success: function(response){
$('input[name="field1"]').val(response);
$('form').submit();
}
});
return false;
});
Run Code Online (Sandbox Code Playgroud)
有没有人有任何想法?
更新:我最初将它绑定到按钮单击事件并且它正在工作,但我想保留提交按钮的[enter]键元素.看到代码有点不合逻辑,抓住按键会更好吗?
我有一个输入文本,我将它用于建议项目的typeahead插件,但是当我在输入文本上按Enter键时它会提交表单.
如何使用twitter bootstrap typeahead插件阻止表单提交?
我们在WebSphere v8.5上使用JSF 2.0,其中有几个组件库PrimeFaces 4.0,Tomahawk 2.0,RichFaces等.
我正在寻找通用机制,以避免刷新页面时重新提交表单,或者再次单击提交按钮时.我有许多不同场景的应用程序.
目前我已经考虑过在onclick属性中使用一段JavaScript来禁用该按钮,但这并不令人满意.我正在寻找一个用于此目的的纯Java实现,类似于Struts2 <s:token>.
AngularJS站点上的cookbook表单示例仅保存客户端上的状态.我如何提交到服务器?
或者,如何form.submit()在ng:click="save()"函数中的表单上使用jQuery ?
编辑 - 找到2种方法(我还删除了之前粘贴的HTML标记 - 只需参考源代码的高级表格cookbook示例)
http://webpac2.rot13.org:3000/conference/Work(由Dobrica Pavlinusic提供)使用资源以AngsonJS的方式将数据以JSON格式发送到服务器.我在服务器端遇到了问题 - AngularJS发送它很好但是grails正在破坏它(根据firebug和请求内容长度).我需要更多地研究这个问题.如何更改资源方法的角度内容类型$save()?
将表单放入并使用提交按钮.由于我没有使用单页Web应用程序,因此我使用了这种方法.大多数验证都在客户端上,在服务器上还有一些验证对我来说已经足够了.
只需将此放在这里,以便其他人可以使用它来获得可能的解决方案和最佳方法.
编辑:
有些人建议直接在表单上提交提交.这不是我想要实现的目标.具体来说,我希望能够在输入类型='submit'上调用click()事件,并让它像通常那样提交表单.jQuery UI对话似乎干扰了这种正常行为.请查看我创建的jsFiddle链接,因为问题可以在那里重新创建.
(首先我已经在StackOverflow上看到了这个问题,但答案在我的情况下不起作用: 带有ASP.NET按钮回发的jQuery UI对话框)
期望的行为:
在我的页面上,我有一个隐藏字段和一个提交按钮(通过CSS隐藏).
我想要做的是使用JavaScript以编程方式单击此按钮,从而导致提交表单.最重要的是....我想从jQuery UI对话框中触发所有这些.基本上,用户将在jQuery UI对话框中进行选择,这将导致整个页面被提交和重新加载.
问题陈述
触发这样的按钮点击通常可以正常提交表单.但是,当从jQuery UI对话框中触发操作时,它会失败.
正如你在我的jsFiddle代码中看到的,我在提交按钮上调用了jQuery的click()函数....但是表单实际上并没有提交!该按钮确实被JavaScript点击,但"表单提交行为"本身并未发生.该页面未发布.
我相信jQuery UI对话框会以某种方式干扰我尝试以编程方式单击的按钮的表单提交行为.
我想以编程方式触发按钮单击的原因:
我不能让对话框内的按钮自己提交按钮.在我的例子中,我创建了一个可重用的JavaScript控件,它包含了一个jQuery UI对话框.这个JS控件允许用户选择一个员工.但是,当员工被选中时,所需的行为并不总是如下:表单提交.(有时我可能想在页面上显示已挑选的员工,但尚未执行提交.)
额外细节:
这个问题并不是特定于ASP.NET,但是这里有一些额外的细节可以帮助解释我为什么要尝试这一切.我正在使用.NET 4.5编写ASP.NET Web Forms应用程序.我已经开始越来越多地为我的页面使用JavaScript了,但是在这个特定的页面上我想触发一个实际的回发到服务器,这样我就可以处理ASP.NET页面生命周期中的按钮点击事件并填充一个GridView.这就是为什么我希望能够使用JavaScript来点击一个asp:按钮,这反过来会导致表单提交.
最重要的是......自己尝试--->请参阅下面的jsFiddle链接.....
同样,这个问题并不是特定于ASP.NET的.我已经能够使用常规HTML和jQuery UI在JsFiddle上重新创建相同的问题.这是JsFiddle链接:
正如您在代码中看到的,我已经尝试使用通过jQuery DOM操作在表单内移动jQuery UI Dialog的"修复".这似乎无法解决问题.
谢谢!我感谢任何帮助!
HTML
<html>
<head></head>
<body>
<form action="http://www.google.com/index.html" method="post">
<input type="button" value="Open jQuery dialog" id="btnOpenDialog" />
<br /><br /><br />
The button below submits the form correctly if you click it.<br />
However, when I try to trigger click() event on this …Run Code Online (Sandbox Code Playgroud) 我们从服务器提取数据并为此提供如果我们使用Struts,那么我们可以通过提交一个MVC架构或我们凸轮进行AJAX调用的页面,但惯例是使用表单和渲染响应,但我们也面临着致富的挑战用户体验,所以我们妥协约定并开始使用过多的AJAX,那么我们应该如何在两者之间取得平衡呢?
我想使用angular.js阻止多个表单提交.这个问题与这个问题有关.
当用户点击表单提交按钮时,提交按钮的值/标签应更改为"正在加载...",按钮的状态将设置为禁用,并且应以正常方式触发提交事件,从而导致提交对服务器的调用.这样用户会看到以下效果:
立即:提交按钮值更改为"正在加载..."并被禁用
一旦服务器响应:用户获得服务器请求的结果(而服务器响应在没有角度干预的情况下处理)
我创建了这个插件以显示我的意思.我的问题与这一行有关:elm.attr('disabled',true);.这不仅会禁用该按钮,还会阻止传播提交事件.因此,我得到一个禁用按钮(所需的结果),但表单没有被提交(不希望的结果).
如果您评论/取消注释此行,您可以看到更改的行为: elm.attr('disabled',true);
知道怎么改变这个吗?
我有一个购买页面,我不希望用户能够刷新页面,并在他们到达"订购完成"页面后重新提交表单,因为它会自动通过数据库值在我们的系统中设置它们并向他们的卡收费通过paypal(只希望这些发生在一起)...我看到一些网站上写着"不要点击刷新,否则你会被收取两次费用!" 但是让它开放的可能性是非常蹩脚的,只允许一次提交或阻止它们刷新等的好方法是什么?
PS:我看到了一些类似的问题:PHP:当按下Back时停止表单被意外重新处理,如何停止重新提交表单后退和刷新按钮?但是没有找到令人满意的答案......如果有一个机制,ASP.NET MVC的具体答案也是理想的.
编辑:一旦他们点击提交它给我的控制器,然后控制器做了一些魔术,然后返回一个带有订单完成消息的视图,但是如果我点击我的浏览器上的刷新它会完成'你想要重新发送这个表单吗? " 那很不好...
以下Jade表单模板的错误是什么?我不能让它提交值.
div
form(action='/signup',method='post')
div(data-role='fieldcontain')
fieldset(data-role='controlgroup')
label(for='email') email
input(id='email',type='text',value='',placeholder='@')
div#passworddiv(data-role='fieldcontain')
fieldset(data-role='controlgroup
label(for='password') password
input(id='password',type='password',value='',placeholder='')
div(id='hiddendiv',data-role='fieldcontain')
fieldset(data-role='controlgroup')
label(for='hidden_password') password
input(id='hidden_password',type='text',value='',placeholder='')
div(data-role='fieldcontain')
fieldset(data-type='vertical', data-role='controlgroup')
label(for='showpass') show password
input(id='showpass',type='checkbox')
div(data-role='fieldcontain')
input(type='submit',value='Sign Up',data-transition='fade', data-theme='c')
Run Code Online (Sandbox Code Playgroud) form-submit ×10
jquery ×3
angularjs ×2
javascript ×2
ajax ×1
asp.net-mvc ×1
c# ×1
forms ×1
html ×1
java ×1
jquery-ui ×1
jsf ×1
node.js ×1
pug ×1
struts ×1