首先:始终是同一个动作。 二:表单有多个“CSS SUBMITS”,如
<form action="/myaction" method="POST">
<a id="foo1" name="foo1" href="#" role="form_button">submit1!</a>
<a id="foo2" name="foo2" href="#" role="form_button">submit2!</a>
<a id="foo3" name="foo3" href="#" role="form_button">submit3!</a>
<input type="submit" id="canfoo" name="canfoo" value="I can process this"/>
</form>
<script>
$('a[role=form_button], div[role=form_button], span[role=form_button]').bind( 'click', function(){ $('form').submit(); } );
</script>
我怎么能在/ myaction中做到这一点:
if ($_POST['foo1']) { action; return; } // :(
if ($_POST['foo2']) { action; return; } // :(
if ($_POST['foo3']) { action; return; } // :(
if ($_POST['canfoo']) { action; return; } // THIS WORKKKKKSS!!
如何才能使foo1,foo2,foo3工作?
(我使用jQuery:
$('a[role=form_button], div[role=form_button], span[role=form_button]').bind( 'click', function(){ $('#actiontodo').val(this.id); $('form').submit(); } );
),然后,在另一方面(行动),
我做:
IF ($_POST['ACTIONTODO'] == "foo") { action; return; }
但是,我不喜欢这个解决方案!我想要&lt; A表现得和&lt; input type =“submit”
非常感谢你的帮助!
答案 0 :(得分:6)
你不应该优先考虑视觉而不是可用性,这是一个巨大的错误。无论如何,你可以设置任何按钮/输入的样式,以满足你的需求,没有任何问题,只需要一个很好的CSS教程。
不要重新发明轮子。
答案 1 :(得分:3)
您可以使用您想要触发.submit()
事件的任何元素。
例如,这种形式:
<form id="targetForm" action="/myaction">
<input type="text" value="Oh hai!"/>
</form>
可以通过以下jQuery提交:
$('#targetForm').submit();
但是,您可以在CSS中设置按钮和输入字段的样式而不会有太多麻烦。
我同意Ben的意见,你应该重新考虑以这种方式提交表格。
因此,如果您有多个触发器,则需要一个隐藏字段来记录POST的这些信息。
这样的事情会起作用......
<form id="targetForm" action="/myaction">
<input type="text" name="myText" value="Oh hai!"/>
<input type="hidden" name="whichTrigger" value="default" />
</form>
然后每个触发器都会......
$('#whichTrigger').val("myTriggerName"); // A different value for each one of course.
$('#targetForm').submit();
答案 2 :(得分:-3)
我解决了这个问题:
<form action="/myaction" method="POST">
<div id="foo1" name="foo1" href="#" role="form_button"><button type="submit">submit1!</button></div>
<div id="foo2" name="foo2" href="#" role="form_button"><button type="submit">submit2!</button></div>
<div id="foo3" name="foo3" href="#" role="form_button"><button type="submit">submit3!</button></div>
<input type="submit" id="canfoo" name="canfoo" value="I can process this"/>
</form>
!!!!!!!!!!!!!!!!!!!谢谢!