Javascript 文本区域和更改

Javascript 文本区域和更改,javascript,jquery,html,textarea,Javascript,Jquery,Html,Textarea,我有一个文本区域,可以将更改发送到数据库。 然而,我不明白或者不知道如何在onchange被激活时调用javascript函数。 我先试过这个: <div class= 'boiteContent'> <textarea id='id_textarea' onchange='update(this)' >" . [PHP code] . "</textarea> </div> ... function update(textarea){

我有一个文本区域,可以将更改发送到数据库。 然而,我不明白或者不知道如何在onchange被激活时调用javascript函数。 我先试过这个:

<div class= 'boiteContent'>
    <textarea id='id_textarea' onchange='update(this)' >" . [PHP code] . "</textarea>
</div>
...
function update(textarea){
    var name_field = $this.attr('id');
    var value_field = $(this).text();
    if (value_field.length >400){
        alert('La taille du champs ne doit pas excéder les 400 caractères');
        location.reload();
    }
    else{
        $.ajax({
            url: '/Projectmanager/updatedashboard',
            type: 'post',
            data: {
                namefield :name_field,
                fieldValue: value_field ,
                id_project : <?php echo $this->currentP->getId_project()?>
             },
        });
    }
}

“[PHP代码]。”
...
功能更新(文本区){
var name_field=$this.attr('id');
var value_field=$(this).text();
如果(值\字段长度>400){
警觉(“400克拉的冠军杯赛”);
location.reload();
}
否则{
$.ajax({
url:“/Projectmanager/updatedashboard”,
键入:“post”,
数据:{
名称字段:名称字段,
fieldValue:value_字段,
id_项目:
},
});
}
}
我尝试了多种方法,最好的方法是:

有人能帮我在onchange时执行这个javascript函数吗

我必须精确地指出,我必须传入参数textarea objet,以获取它的ID和text()

谢谢你的回答


Faya.

您似乎错误地引用了textarea名称和值。更改:

var name_field = $this.attr('id');
var value_field = $(this).text();
致:


我一点也不知道
$this
变量来自哪里。另外,
变量将引用
窗口
对象。

这就是最终的工作原理。谢谢大家!

在html中:

<textarea id='description_project' onchange="updateTextAreaProject(this)" >

你的小提琴到您发布的代码。为什么在(更改)上有一个内嵌的
onchange
和一个JQuery
.on(更改)
?如果删除内联
onchange='updateDescription(this)
并使用JQuery绑定,修复打字错误,它就可以工作;我想向您展示我在研究后使用的两种不同方法^^。事实上,jQuery函数捕捉到的值是旧的,而不是实现的,因此更改不会上载,数据库会上载,但与之前相同的值($(this).text()):/非常好的主意,我放弃了在我的小提琴上展示的jQuery解决方案,专注于“onchange”属性。然后,你的想法,它的工作。在那里,正确的代码是:
<textarea id='description_project' onchange="updateTextAreaProject(this)" >
var name_field = textarea.id;
var value_field = textarea.value;