我正在处理一个网页搜索表单,当他们点击表单顶部的链接时会返回图片和网页结果。
所以我尝试在链接点击上触发表单。示例:如果他们单击图像,则尝试提交带有图像作为选项的表单。在链接上单击我可以创建隐藏的输入,但不会触发提交本身。
在没有隐藏输入的情况下,我也尝试了jQuery("#web_form").submit();
,而不是在试图。
HTML& FORM
<span class="web"><a href="#">Web</a></span><span class="image"><a href="#">Image</a></span>
<form method="post" id="web_form" action="<?php echo $_SERVER['PHP_SELF'];?>">
<input type="submit" value="Search" name="submit"/>
<?php
if (isset($_POST['submit']))
{
$option = $_POST['searchoption'];
//perfoming statement based on option
}
?>
</form>
的jQuery
jQuery(document).ready(function(){
jQuery('.web').click(function () {
var option = jQuery("<input type='hidden' name='searchoption'/>");
option.val(jQuery(this).attr("class"));
jQuery("#web_form").append(option).submit();
return false;
});
});
这里有什么问题?
注意:我在wordpress中尝试这个有意义吗?
问题发布后编辑
jQuery(document).ready(function(){
jQuery('.web').click(function () {
var option = jQuery("<input type='hidden' name='searchoption'/>");
option.val(jQuery(this).attr("class"));
jQuery("#web_form").append(option).submit();
return false;
});
$( "#web_form" ).submit(function( event ) {
alert( "Handler for .submit() called." );
});
});
我尝试了以上操作以确保表单是否已提交,当我点击链接时,我收到了Handler for .submit() called.
警告消息。它似乎适用于提交事件,但它没有提交到action
字段中的外部网址以及<?php echo $_SERVER['PHP_SELF'];?>
的操作。
这里发生了什么?任何想法都会有所帮助。
答案 0 :(得分:1)
如果您将提交输入的名称更改为“提交”以外的其他名称,则应该可以使用(在Chrome中测试):
<input type="submit" value="Search" name="mysubmit"/>