WordPress - 访问简码 HTML 并添加表单验证以停止空表单提交
Wordpress - Access shortcode HTML and add Form Validations to stop empty form submission?
我的搜索表单有问题,我正在使用WordPress
插件IMPress 列表和搜索和过滤器以显示属性列表分类法。我已将简码添加到我的主页。
<?php echo do_shortcode('[searchandfilter submit_label="Search" taxonomies="status,locations,property-types"]');?>
但是当提交空表单时 www.domain.co.uk/estateagents/?s=这被重定向到首页并弄乱了所有的 CSS,并显示了我不会在网站上发布的每篇文章。
我已经在谷歌周围搜索过,但答案似乎是 5 年前的,似乎不再有效。
我能想到的最简单的方法是添加表单评估,以便他们可以提交和清空表单并重定向。但是由于表单是由短代码生成的,因此我不确定如何将类或 ID 添加到表单中。
这是生成的表单:
<form action="" method="post" class="searchandfilter">
<div>
<ul><li><select name='ofstatus' id='ofstatus' class='postform' >
<option value='0' selected='selected' >All Status</option>
<option class="level-0" value="9">For Rent</option>
<option class="level-0" value="19">For Sale</option>
<option class="level-0" value="32">New</option>
<option class="level-0" value="23">Pending</option>
</select>
<input type="hidden" name="ofstatus_operator" value="and" /></li><li><select name='oflocations' id='oflocations' class='postform' >
<option value='0' selected='selected'>All Locations</option>
<option class="level-0" value="21">Birmingham</option>
</select>
<input type="hidden" name="oflocations_operator" value="and" /></li><li><select name='ofproperty-types' id='ofproperty-types' class='postform' >
<option value='0' selected='selected'>All Property Types</option>
<option class="level-0" value="20">Bungalow</option>
<option class="level-0" value="14">Residential</option>
</select>
<input type="hidden" name="ofproperty-types_operator" value="and" /></li><li><input type="hidden" name="ofsubmitted" value="1">
<input type="submit" value="Search">
</li></ul></div>
如果它生成为短代码,我如何访问它? 以及如何添加验证以使空表单不会提交?
删除插件创建的简码表单(如果表单不会更改)
<?php remove_shortcode( 'searchandfilter' );?>
现在,在简码的回调函数中使用表单添加您自己的短代码。
<?php add_shortcode( 'searchandfilter', 'my_search_form' );
function my_search_form($atts, $content){
//write you own form here
}
?>
在客户端验证表单。
将此 js 文件包含在页面的标题中http://cdn.jsdelivr.net/jquery.validation/1.14.0/jquery.validate.min.js
将此代码放在包含的 JS 下方
<script>
$().ready(function() {
$("#commentform").validate();
});
</script>
并将 ID 应用于表单
<form action="" method="post" class="searchandfilter" id="commentform">
并使您输入框需要作为
<input id="cname" name="name" minlength="2" type="text" required="" aria-required="true">
有关更多详细信息,请访问此链接
http://jqueryvalidation.org/files/demo/radio-checkbox-select-demo.html
- 如何在使用ajax提交的codeigniter中使用form_validation验证表单数据
- Magento表单验证,表单提交时没有有效字段
- 表单验证不起作用,并阻止表单提交
- 在提交之前验证表单,jQuery发布到javaScript,然后提交到确认页面
- 'Alajax' Jquery 简单表单提交.如果表单未经验证,如何防止提交
- 未执行Ajax隐藏表单提交验证
- Javascript表单验证:表单在错误返回时提交:
- 验证失败时阻止表单提交(Angular Material)
- jQuery验证插件停止表单提交,提交按钮获胜'不起作用
- 在表单提交中,在Codeigiiter验证之前先进行jquery检查
- 根据使用的提交按钮验证表单
- 验证数组文件字段的表单提交
- 使用js表单验证器禁用html表单提交按钮
- jQuery在正常按钮上验证表单(不提交)
- Javascript验证表单不会阻止提交
- 验证表单阻止表单提交
- AngularJS:在异步验证器完成之前阻止表单提交
- 使用Google reCAPTCHA验证表单提交
- jQuery Validate不验证表单提交
- jQuery验证表单提交中的多个字段