我正在使用codeigniter.in codeigniter.in view文件,我有一个表单,我使用bootstrap验证器检查字段验证。bootstrap验证器验证器表单表单字段字段。但是问题是我正在处理codeigniter。该函数以控制器的形式编写。提交表单后,它应该重定向在控制器中编写的函数。在此,我会面临问题,当我在成功验证后单击提交按钮时,它不会执行任何操作。它不在控制器上重定向在新功能是写作的地方,我如何在成功验证后重定向页面。我正在使用javascript不使用ajax。
这是我的查看守则:
<form class="" data-toggle="validator" role="form" id="sms_form" method="Post" action="<?php echo site_url('SMS/sendIndividualMsg/'.$row->pro_id)?>">
<div class="col-md-12">
<div class="form-group">
<label for ="message"><strong>Message</strong></label>
<textarea class="form-control" id="comment_body" name="message" placeholder=" Your Message"></textarea>
</div>
<div>
<?php echo form_submit(['name' => 'submit' ,'class' => 'btn btn-default' , 'value' => 'Send Message']); ?>
</div>
</div>
</form>
这是我的Bootstrap验证器的代码:
<script>
$('#sms_form').bootstrapValidator({
// To use feedback icons, ensure that you use Bootstrap v3.1.0 or later
feedbackIcons: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
message:{
validators: {
regexp: {
regexp: /^[a-zA-Z0-9_.s]+$/,
message: 'The message can only consist of alphabetical, number, dot and underscore'
},
notEmpty: {
message: 'Please supply your message'
}
}
}
}
});
</script>
这是我的控制器代码。这是我想要重定向的功能:
public function sendIndividualMsg($pro_id)
{
}
使用此..
<script> $('#sms_form').bootstrapValidator({ // To use feedback icons, ensure that you use Bootstrap v3.1.0 or later feedbackIcons: { valid: 'glyphicon glyphicon-ok', invalid: 'glyphicon glyphicon-remove', validating: 'glyphicon glyphicon-refresh' }, fields: { message:{ validators: { regexp: { regexp: /^[a-zA-Z0-9_.s]+$/, message: 'The message can only consist of alphabetical, number, dot and underscore' }, notEmpty: { message: 'Please supply your message' } } } } .on('success.field.fv', function(e, data) { $( "form" ).submit(); }); }); </script>
这不是一个有趣的玩法。
长话短说。
加载jquery.js文件后,您需要使用JS(这是Bootstrap JS文件的所有一部分)。您当前的JS起作用。
您还需要在Bootstrapvalidator.js之后,如果您不这样做,则需要将JS包装在...
中$(document).ready(function () {
// JS Code here if this is rendered before bootstrapValidator.min.js
})
这里的技巧是观看浏览器开发人员工具中的控制台消息...
只是说,它不起作用,没有查看控制台消息不会有帮助。
如果您对我所做的事情不知道,我稍后会澄清。
更新:这是我用来调查您的问题的测试代码。
测试视图 - 视图/form_validator_view.php
<!doctype html>
<html lang="en">
<head>
<title>Hello, world!</title>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" integrity="sha384-PsH8R72JQ3SOdhVi3uxftmaW6Vc51MKb0q5P2rRUpPvrszuE4W1povHYgTpBfshb" crossorigin="anonymous">
</head>
<body>
<h1>Hello, world!</h1>
<div class="container">
<form class="" data-toggle="validator" role="form" id="sms_form" method="Post" action="<?php echo site_url('sms/sendIndividualMsg/' . 1) ?>">
<div class="form-group">
<label for="message"><strong>Message</strong></label>
<div class="col-md-12">
<textarea class="form-control" id="message" name="message" placeholder=" Your Message"></textarea>
</div>
</div>
<div class="form-group">
<div class="col-xs-9 col-xs-offset-3">
<button type="submit" class="btn btn-primary" name="signup" value="Sign up">Submit</button>
</div>
</div>
</form>
</div>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js" integrity="sha384-vFJXuSJphROIrBnz7yo7oB41mKfc8JzQZiCq4NCceLEaO4IHwicKwpJf9c9IpFgh" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js" integrity="sha384-alpBpkh1PFOepccYVYDB4do5UnbKysX5WZXm3XxPqe5iKTfUKjNkCk9SaVuEZflJ" crossorigin="anonymous"></script>
<script src="//oss.maxcdn.com/jquery.bootstrapvalidator/0.5.2/js/bootstrapValidator.min.js"></script>
<script>
$(document).ready(function () {
// JS Code here if this is rendered before bootstrapValidator.min.js
})
// $(document).ready(function () {
$('#sms_form').bootstrapValidator({
// To use feedback icons, ensure that you use Bootstrap v3.1.0 or later
feedbackIcons: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
message: {
validators: {
regexp: {
regexp: /^[a-zA-Z0-9_.s]+$/,
message: 'The message can only consist of alphabetical, number, dot and underscore'
},
notEmpty: {
message: 'Please supply your message'
}
}
}
}
});
// })
</script>
</body>
</html>
测试控制器 - 控制器/SMS.PHP
<?php
class Sms extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->helper('url');
$this->load->helper('form');
}
public function index() {
$this->load->view('form_validator_view');
}
public function sendIndividualMsg($id) {
echo "The ID is $id";
var_dump($_POST);
}
}