Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取keyup事件上codeigniter中文本框的当前值_Php_Jquery_Ajax_Codeigniter - Fatal编程技术网

Php 获取keyup事件上codeigniter中文本框的当前值

Php 获取keyup事件上codeigniter中文本框的当前值,php,jquery,ajax,codeigniter,Php,Jquery,Ajax,Codeigniter,大家好,我目前正在学习jQuery中的AJAX,现在我正尝试在codeigniter中使用它。现在发生的事情是,我有一个文本框,在keyup事件中,它将调用我控制器上的函数,它无论如何都在工作,但控制器本身没有获取文本框的当前值,它仍然为空,因为我还没有提交表单,所以它无法获取POST数据。我也不想提交表单,因为我只有一次提交的机会,我只想检查事件是否已经存在(出于验证目的)。这是我迄今为止的代码,添加了注释,以便更好地查看 视图: 很抱歉这一部分。它充满了我认为没有必要的评论。这只是我快速回顾

大家好,我目前正在学习jQuery中的AJAX,现在我正尝试在codeigniter中使用它。现在发生的事情是,我有一个文本框,在keyup事件中,它将调用我控制器上的函数,它无论如何都在工作,但控制器本身没有获取文本框的当前值,它仍然为空,因为我还没有提交表单,所以它无法获取POST数据。我也不想提交表单,因为我只有一次提交的机会,我只想检查事件是否已经存在(出于验证目的)。这是我迄今为止的代码,添加了注释,以便更好地查看

视图:


很抱歉这一部分。它充满了我认为没有必要的评论。这只是我快速回顾代码的一个注释。:)我的代码是否有问题,或者我是否需要使用一些函数来检索数据?

文本框中没有名为value的字段,因此请像这样修改文本框并重试

<input id="name" type="text" name="eventname" value="eventname"/>


现在我认为您将获得值,请检查此

您将数据发布为“名称”

检查您的ajax

data: 'name='+name,   // this is data that is posted by ajax..you are posting it with a name as "name"
所以你必须以“name”而不是“eventname”的形式获取输入帖子

您必须将数据的名称
data:'name='+name,
重命名为
data:'eventname='+name,

替换这个

echo $this->test_model->check_event($this->input->post('eventname'));
用这个

echo $this->test_model->check_event($this->input->post('name'));

在您的控制器中,它应该可以工作……

似乎在命名方面有一些错误,让我们跟踪一下:

<input id="name" type="text" name="eventname" />

var name = $('#name').val();
ajax{...
data: 'name='+name,...}
$this->test_model->check_event($this->input->post('eventname'));
$this->test_model->check_event($this->input->post('name'));
1、获取输入:

<input id="name" type="text" name="eventname" />

var name = $('#name').val();
ajax{...
data: 'name='+name,...}
$this->test_model->check_event($this->input->post('eventname'));
$this->test_model->check_event($this->input->post('name'));
与:

<input id="name" type="text" name="eventname" />

var name = $('#name').val();
ajax{...
data: 'name='+name,...}
$this->test_model->check_event($this->input->post('eventname'));
$this->test_model->check_event($this->input->post('name'));

$this->input->post('name')
而不是'eventname'。只是基本的调试。老实说,这些评论让人大吃一惊。至少优先使用小写字母。很抱歉,我的问题不清楚,请进行编辑,以便在某种程度上符合要求@itachi我不是这方面的专家,我只是为了将来的目的研究它,我想我应该使用我在输入上指定的名称哈哈!此外,对于评论,这是我个人和学习使用的,我喜欢这些眼疾,因此每次我带着代码回去时都需要阅读,因为正如你所说,即使对我来说,这也完全是一件令人头疼的事。:)<代码>名称属性对于POST请求很重要。一些注释<代码>成功()从jquery 1.8.2开始就不推荐使用,并将在将来的版本中删除。改用
.done()
。有关正确语法,请参阅manuel。第二,ajax请求失败的原因是
fail()。在那里检索状态代码并使用适当的操作。第三,
beforeSend()
可用于
请稍候….
简而言之,请阅读手册。你又在重新发明轮子了。这是我的好字条@itachi再次感谢。:)他正在使用jquery库。问题是,ajax参数是
name
,他以
eventname
的身份访问它。哦,我明白了,我一直认为我应该使用我在输入声明中指定的名称。谢谢你的回答。:)浏览ajax文档,它会让您清楚地了解这些内容。。享受编码的乐趣。。。。