【发布时间】:2015-10-14 03:03:58
【问题描述】:
我有一个搜索字段,用户只能输入 2 个或更多字符:
<?php
use yii\helpers\Html;
use app\models\User;
use yii\helpers\ArrayHelper;
use kartik\form\ActiveForm;
use kartik\widgets\Select2;
use yii\helpers\Url;
$session = Yii::$app->session;
/* @var $this yii\web\View */
/* @var $model app\models\PayslipTemplateSearch */
/* @var $form yii\widgets\ActiveForm */
?>
<div class="searchbox" style="padding: 0; margin-right: 0px;">
<?php $form = ActiveForm::begin([
'action' => ['searchresults'],
'method' => 'get',
'id' => 'searchForm'
]); ?>
<div class="input-group">
<input type="text" class="form-control" name="keyword" pattern=".{2,}" title="Keyword should have a minimum of 2 characters" required>
<span class="input-group-btn">
<button class="btn btn-primary" type="button">🔍</button>
</span>
</div>
<span class="error">Enter at least two characters</span>
<?php ActiveForm::end(); ?>
</div>
<style type="text/css">
.error {
display: none;
font: italic medium sans-serif;
color: red;
}
input[pattern]:invalid ~ .error {
display: block;
}
</style>
<script>
$(function(){
$(".btn-primary").click( function(e){
e.preventDefault();
$('#searchForm').submit();
});
$('.dropdown-responsive').addClass('manageadmindd');
$('.select2-bootstrap-append').addClass('ddcontainer');
})
// function showError(txt)
// {
// var err = document.getElementById('error');
// err.innerHTML = txt;
// err.style.display = 'block';
// }
</script>
但是,如果我按下该搜索按钮,它将重定向到带有 PHP 错误的搜索结果页面,因为它没有收到任何关键字。
那么我该如何防止这种情况发生呢?
编辑:
我把我所有的 HTML 代码放在上面。我正在使用 Yii2 php 框架。
【问题讨论】:
-
你能提供一个jsfiddle吗?
-
请包含相关代码。如按钮的点击事件
-
我没有任何点击事件。我认为
pattern属性会显示错误消息。 -
请给出相关代码.. 上面的代码没有创建所需的输出
-
提供
type="submit"attr 到搜索按钮
标签: javascript php jquery css input