我发现因为我正在处理的所有表单都有一个提交按钮,该按钮包含'name ="submit"'属性,当我点击应该触发表单提交的链接时,触发器提交就会中断.
有谁知道我怎么能绕过这个.
下面的JQuery代码是我使用的:
$('#login_form :submit').each(
function()
{
var $this = $(this);
var f = this.form;
var link = $('<a class="swap_link" href="#">' + $this.val() + '</a>')
link.click(function()
{
$(f).trigger('submit');
return false;
}
)
$this.after(link).css({position:'absolute', top:'-2000px'});
}
)
Run Code Online (Sandbox Code Playgroud)
感谢任何帮助.谢谢
你好.看看下面的链接:
http://www.mr-scraggy.com/test.html
在此页面上,您可以看到表单的实际效果.在提交按钮中没有名称="提交"的顶部表单有效.包含name ="submit"的底部表单没有.(当我说工作时,表单没有连接到任何脚本,但你可以看到顶部表单中的提交链接确实'某事').
另见表格html:
<form id="swaplink" name="login" action="/action/login.php" method="post" accept-charset="utf-8" class="clearfix">
<input type="hidden" name="redirecturl" id="redirecturl" value="{$redirecturl}" />
<h2>My Account Login</h2>
<ul id="login_form">
<li>
<label for="username">Username:</label>
<input type="text" name="username" id="username" class="input-text" maxlength="32" />
</li>
<li>
<label for="password">Password:</label>
<input type="password" name="password" id="password" class="input-text" …Run Code Online (Sandbox Code Playgroud) 好吧,不知怎的,我有最困难的时间来解决这个问题,所以我想用一个表单调用ajax,并使用jquery用.serialize()来序列化它.发送给php的数据看起来像这样
key1=value&key2=value2&key3=value3
Run Code Online (Sandbox Code Playgroud)
我正在使用帖子请求.它看起来很简单,但不知何故我很难弄清楚如何访问这些键/值对,我不能使用explode()on&因为这会给我
[0] => key1=value1
[1] => key2=value2
[2] => key3=value3
Run Code Online (Sandbox Code Playgroud)
并且我无法在php中使用$ _POST ['key1']或$ _GET ['key1']来访问这些值.我该怎么办!!!谢谢
作为一个侧面问题,我注意到.serilize()用%0A替换换行符,用+替换白色空格,我如何用php解码这些值?再次感谢!
编辑:
嘿,jquery代码是相当基本的:
var formSubmit = $(this).serialize();
$.post('ajax.php',{"formSubmit": "true", "formInfo": formSubmit}
Run Code Online (Sandbox Code Playgroud) 单击它时,很容易禁用命令按钮.但是说表单验证失败(使用ajax和不使用).如果验证无法允许用户修复错误并重试,如何重新启用命令按钮?
如何选择此提交按钮?
<li id="district_schedule_set_submit_action" class="action input_action ">
<input class="sexybutton sexysimple sexyorange" type="submit" value="Generate Schedules" name="commit"></input>
</li>
Run Code Online (Sandbox Code Playgroud)
什么不起作用......
//input[value()='Generate Schedules'
//form[input()='Generate Schedules']
//input(text(),'Generate Schedules'))
//input[text(),'Generate Schedules')]
Run Code Online (Sandbox Code Playgroud) 我有一个带有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)
我怎么知道点击了哪个提交按钮?
我正在学习如何在jsf中使用ajax,我创建了一个实际上什么都没有的页面,一个填充了数字的输入文本,提交给服务器,使用提交的值调用该元素的setter,并显示getter的值.
这是简单bean的代码:
@ManagedBean(name="helper",eager=true)
public class HealthPlanHelper {
String random = "1";
public void setRandomize(String s){
random = s;
System.out.println("Calling setter");
}
public String getRandomize(){
return random;
}
}
Run Code Online (Sandbox Code Playgroud)
和jsf页面:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head></h:head>
<h:body>
<h:form>
<h:commandButton action="nothing">
<f:ajax render="num"/>
</h:commandButton>
<h:inputText value="#{helper.randomize}" id="num"/>
</h:form>
</h:body>
</html>
Run Code Online (Sandbox Code Playgroud)
如你所见,这是一个请求范围的bean,每当我点击按钮时服务器显示它创建了bean的实例,但是从不调用setter方法,因此,getter总是返回"1"作为值的串.
当我删除时,正常调用setter.
我的ASP.NET页面中有一些提交按钮.一切正常,但当用户点击输入按钮时,第一个提交按钮始终有效.我想用相应的字段触发每个提交按钮但不能有多个表单.是否可以在不使用表格的情况下将它们分组?
我想在我的jsp中有2个提交按钮,所以我找到了这个教程:http://struts.apache.org/release/2.3.x/docs/multiple-submit-buttons.html 我想开发Nyong Nyong的MyBaseAction类的解决方案,由MySubmitAction和MyClearAction类扩展.但我无法让它发挥作用.我不确定jsp将如何,这是在示例中:
<s:form method="post" action="mySubmitAction">
<s:submit value="Submit"/>
<s:submit value="Clear" action="myClearAction"/>
</form>
Run Code Online (Sandbox Code Playgroud)
但我想这是前面的例子.我对struts.xml也不太确定,我是否需要设置一些特定的常量值或其他东西?
如果有人可以提供完整的jsp和struts.xml示例,那将会很棒.
在表单操作设置为类似的情况下:
action="<?php echo JRoute::_('index.php?option=com_test&layout=edit&id='.(int) $this->item->id); ?>"
Run Code Online (Sandbox Code Playgroud)
并且表单包含和隐藏输入:
<input type="hidden" name="task" value="testctrl.save" />
Run Code Online (Sandbox Code Playgroud)
joomla如何路由到控制器方法?
我会理解它是否在表单操作中有任务,但我无法看到它如何从隐藏的输入中获取任务以便路由到testctrl控制器方法中的相应方法
有一个2.3的新功能有多个提交按钮,
但我发送我的表格与ajax
$.post("{{ path('order_ad_banner') }}",
$('#adOrderForm').serialize() + "&" + $.param({url: "{{ url }}"}),
function (data) {
$('#formWindow').html(data);
}
);
Run Code Online (Sandbox Code Playgroud)
这是我的按钮:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
....
->add('step2submit', 'submit', array('validation_groups' => array("order step 2")))
->add('step3submit', 'submit')
->add('step4submit', 'submit')
;
}
Run Code Online (Sandbox Code Playgroud)
如何使用带有ajax的'step2submit'按钮模拟提交?
编辑:找到解决方案 - >在发布之前向表单添加隐藏字段
var input = $("<input>").attr("type", "hidden").attr("name", 'adOrder[step2submit]').val("");
$('#adOrderForm').append(input);
$.post("{{ path('order_ad_banner') }}",
$('#adOrderForm').serialize() + "&" + $.param({url: "{{ url }}"}),
function (data) {
$('#formWindow').html(data);
}
);
Run Code Online (Sandbox Code Playgroud) form-submit ×10
forms ×5
jquery ×4
jsf-2 ×2
php ×2
ajax ×1
asp.net ×1
html ×1
java ×1
javascript ×1
joomla ×1
jsf ×1
jsp ×1
struts2 ×1
symfony ×1
symfony-2.3 ×1
validation ×1
xml ×1
xpath ×1