Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.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
Javascript Ajax看不到textarea值_Javascript_Jquery_Html_Ajax_Django - Fatal编程技术网

Javascript Ajax看不到textarea值

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

我的页面上有一个textarea输入,我想使用AJAX将其发布到服务器。AJAX调用很好,但是,它不会看到textarea中的值

我的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>

<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。就是这样。谢谢