我问这个问题的原因是我已经在不使用PHP框架的情况下构建了50%的网站。现在我开始使用CodeIgniter,目的是使用更少的代码并建立一个更安全的网站,我希望有一个很好的选项来处理表单......
但是我选择了以下选项:
在我的视图文件中,我使用如下形式:
<?php echo form_open(‘form’); ?>
<input type=“text” name=“username” value=”” size=“50” />
<div><input type=“submit” value=“Submit” /></div>
</form>
然后我有一个处理表单的控制器,如果需要,我使用模型来插入数据。 优点是它很简单,不需要太多工作。我甚至可以使用像http://formigniter.org/app/这样的网站生成自己的表单。 对我来说最大的问题是这个方法总是重新加载视图页面而我不想刷新页面。
另一种选择是使用jQuery / Ajax。
在我看来,我有一个简单的输入字段:
<input type=“text” id=“username” name=“username” size=“50” />
我有一些javascript代码:
$(’#username’).change(function() {
var post_data = {
‘message’: $(”#username”).val()
};
$.ajax({
type: “POST”,
url: “<?php echo base_url(); ?>index.php/registratie_c/insertByajax”,
data: post_data,
success: function(message) {
alert(message);
}
});
});
在我的控制器中,我需要获取这样的数据:
$data[‘message’] = $this->input->post(‘message’);
之后我可以做任何我想做的事。 最大的好处是我不必重新加载我的页面,因为用户键入了正在发送的数据。 我的问题是,这是一项很多工作。我必须编写一些javascript来从不同的输入字段中获取数据。在我的控制器中,我必须再次执行此操作,再次输出它,并且没有表单生成器。
我的问题是,您更喜欢哪一个? 并不是一个简单的解决方案,但你也可以在飞行中发布数据吗?以上两个选项仍然感觉很不发达。 我不想使用.NET MVC 4创建一个网站,但我认为它确实支持这样的事情。
P.S。我知道有一个选项可以使用jQuery序列化发布整个表单...