Javascript Ajax看不到textarea值
我的页面上有一个textarea输入,我想使用AJAX将其发布到服务器。AJAX调用很好,但是,它不会看到textarea中的值 我的HTML:Javascript Ajax看不到textarea值,javascript,jquery,html,ajax,django,Javascript,Jquery,Html,Ajax,Django,我的页面上有一个textarea输入,我想使用AJAX将其发布到服务器。AJAX调用很好,但是,它不会看到textarea中的值 我的HTML: <div class="promptBody"> <div id="promptText" onclick="replaceWithInput(this)"> <p class="promptBody"><div id="prompty">{{prompt.prompt|lineb
<div class="promptBody">
<div id="promptText" onclick="replaceWithInput(this)">
<p class="promptBody"><div id="prompty">{{prompt.prompt|linebreaks}}</div></p>
</div>
<form id="promptUpdateForm">
<div id="promptInput">
<p><textarea class="input" cols="40" id="id_prompt" name="prompt" placeholder="Prompt" rows="10"></textarea></p>
<p><input class="submit" type="submit" name="submit" id="submit" value="Edit Prompt" /></p>
</div>
</form>
</div>
<script type="text/javascript">
$(document).ready(function() {
$(document).on('submit', '#promptUpdateForm', function(e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: '/apps/litprompt/a/{{prompt.id}}/update/',
data: {
'prompt': $('#id_prompt').val(),
csrfmiddlewaretoken: $('input[name="csrfmiddlewaretoken"]').val(),
},
success: function(json) {
$('#promptText').html(json.prompt_data);
var promptText = document.getElementById('promptText');
var promptInput = document.getElementById('promptInput');
promptText.style.display = 'block';
promptInput.style.display = 'none';
}
});
});
});
</script>
{{prompt.prompt | linebreaks}
$(文档).ready(函数(){
$(文档).on('submit','promptUpdateForm',函数(e){
e、 预防默认值();
$.ajax({
键入:“POST”,
url:“/apps/litprompt/a/{{prompt.id}}/update/”,
数据:{
'prompt':$('id_prompt').val(),
csrfmiddlewaretoken:$('input[name=“csrfmiddlewaretoken”]”)。val(),
},
成功:函数(json){
$('promptext').html(json.prompt_数据);
var promptext=document.getElementById('prompText');
var promptInput=document.getElementById('promptInput');
promptext.style.display='block';
prompInput.style.display='none';
}
});
});
});
如果我将数据中的ajax代码更改为“prompt”:“blah”,它就可以正常工作。但是每次我用'prompt':$('id_prompt').val()发布时,它都是一个空值 文本区域
HTML元素不是自动关闭的。它必须通过
关闭
见下文:
<div class="promptBody">
<div id="promptText" onclick="replaceWithInput(this)">
<p class="promptBody"><div id="prompty">{{prompt.prompt|linebreaks}}</div></p>
</div>
<form id="promptUpdateForm">
<div id="promptInput">
<p><textarea class="input" cols="40" id="id_prompt" name="prompt" placeholder="Prompt" rows="10"></textarea></p>
<p><input class="submit" type="submit" name="submit" id="submit" value="Edit Prompt" /></p>
</div>
</form>
</div>
{{prompt.prompt | linebreaks}
您忘记关闭文本区域,它们不是自动关闭的,需要一个
关闭标记抱歉,我在重新设置问题代码格式时忘记了,但它是在实际代码中,仍然不起作用。我重新设置了问题的格式以更正此问题。对不起,我在重写问题代码时忘记了。我确实有一个在那里,它仍然是坏的。我更新了问题以更正此问题。在这种情况下,您确定没有在其他地方定义id\u提示符
?因为一个简单的实体模型似乎是有效的。啊!我在同一个页面上有一个新的提示表单,它正在生成另一个具有相同ID的textarea。就是这样。谢谢