gpt4 book ai didi

javascript - 在提交表单时,在 Codeigniter 验证之前先进行 jquery 检查

转载 作者:可可西里 更新时间:2023-11-01 00:41:16 26 4
gpt4 key购买 nike

表单提交按钮,我必须使用 jquery 检查一些验证。但是,我还使用了带有 form_open(xxxx) 的 codeiginiter 验证,这使得我的提交按钮 jQuery 没有被调用。我该怎么做才能同时完成这两项工作?之前还是之后? (我要前后端检查)

<?php $prevURLPATH=urlencode($p); echo form_open('form/'.$usr.'/'.$name.'?prevURL='.$p); ?>


<div class="form-group row">
<label class="col-md-3 control-label text-center"></label>
<div class="col-md-8">
<button id="submit-upload-form" class="btn btn-primary btn-tw" onclick="setup(); return false;"><i class="glyphicon glyphicon-upload"></i>Submit</button>
<button id="validate" hidden="true" type="submit"></button>
</div>
</div>


function setup()
{ .......Checking some fields in the form...............}

我想要的是:在提交表单时,Jquery/JS 检查(前端),然后是后端 codeigniter 表单检查。

(似乎当用户单击提交按钮时,它会忽略所有 jquery 验证并直接进入 codeigniter 验证。我认为如果我在 php 中使用 form_open() 我会非常有限,对吗?)

我正在关注这个 link .

希望找到答案,以便其他人知道使用 codeiginiter 验证的正确方法。

感谢您到目前为止的所有回答,但我仍然找不到正确的解决方案。 :( 还有其他人请帮忙吗?

最佳答案

如果您想在提交表单之前在客户端进行验证,可以使用以下方法:

// view
echo form_open('basic_controller/submission');
echo form_input( array('name'=>'text', 'id'=>'text_input') );
echo form_submit('my_submit', 'Enter', "id='my_submit'");
echo form_close();

// controller
function submission() {
$field = $this->input->post('text');
// add your checkings (backend)
}

到目前为止,这是您已经拥有的,但更简单。请注意,表单上的字段有一个 ID。我们现在可以通过 jQuery 轻松地操作和访问表单的内容。在提交按钮上添加点击处理程序:

    // view
<script type='text/javascript'>
$(document).on('click', '#my_submit', function() {
var input_value = $('#text_input').val();

// do your frontend checkings here
alert('before form submission. ' + input_value);
});
</script>

实际上,不需要为字段提供 ID,您只需为提交按钮分配一个 ID,然后以其他方式访问字段(我只是为了简单起见而这样做)。


编辑

在您的情况下,脚本应该是:

$(document).on('click', '#submit-upload-form', function() {
setup();
});

关于javascript - 在提交表单时,在 Codeigniter 验证之前先进行 jquery 检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36394170/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com