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 提交表单后如何显示输入框的消息?_Javascript_Jquery_Django_Forms_Django Forms - Fatal编程技术网

Javascript 提交表单后如何显示输入框的消息?

Javascript 提交表单后如何显示输入框的消息?,javascript,jquery,django,forms,django-forms,Javascript,Jquery,Django,Forms,Django Forms,我正在构建一个表单。我希望在提交表单后保持输入值可见。我在网上按照一些说明使用showMessage()函数,但是它对我不起作用 <form id = "form1" action="." method="POST">{% csrf_token %} <div class=".col1" style="float:left;vertical-align: middle;"> {{ form.region }} {{

我正在构建一个表单。我希望在提交表单后保持输入值可见。我在网上按照一些说明使用showMessage()函数,但是它对我不起作用

<form id = "form1" action="." method="POST">{% csrf_token %}      
  <div class=".col1" style="float:left;vertical-align: middle;">            
    {{ form.region }}
    {{ form.operator }}
  </div>
  <div id = "form1_value" class="col-xs-2 style="vertical-align: middle;">
    {{ form.value }}
  </div>    
</form>
<div>
  <input type="button" class = "btn" value="Run" onclick="SubmitForm1(), showMessage()"/>
</div>
{%csrf\u令牌%}
{{form.region}}
{{form.operator}}

您的
onclick
函数应该读取
SubmitForm1()
,它应该发出一个AJAX请求,使用jQuery可以大大简化该请求:

$.ajax({
    method: "POST",
    url: ".", // from the action attribute of your <form>
    data: {
        key1: value1,
        key2: value2
    },
    success: function(data, textStatus, jqXHR) {
        // event handler for when submission is complete
    }
}
$.ajax({
方法:“张贴”,
url:“.”,//来自
数据:{
键1:值1,
键2:值2
},
成功:函数(数据、文本状态、jqXHR){
//提交完成时的事件处理程序
}
}
代码改编自


这将不会重新加载页面或加载新页面。您可能希望将
disabled=true
设置为
的属性。当然,在我之前键入了我的较长答案后,我才意识到您希望仅使用javascript或jquery来解决此问题。在这种情况下,您可以在HTML页面中创建表单(与Django表单不同,这取决于表单的复杂程度),您可以使用一个简短的脚本函数来显示表单的输入数据

因此,HTML将如下所示:

<script language="JavaScript">
  function showInput() {
      document.getElementById('display').innerHTML =
                  document.getElementById("user_input").value;
  }
</script>

<div class="">
  <form method:"post">
  {% csrf_token %}
    <label><b>Enter a Message</b></label>
    <input type="text" name="message" id="user_input">
  </form>

  <input type="submit" onclick="showInput();"><br/>
  <label>Your input: </label>
  <p><span id='display'></span></p>
</div>

函数showInput(){
document.getElementById('display').innerHTML=
document.getElementById(“用户输入”).value;
}
{%csrf_令牌%}
输入消息

你的意见:

这个javascript解决方案已经被另一个用户提供给了另一个类似的问题。我只是想重复一下,并提到,即使您使用Django作为后端,您也可以使用相同的东西。在Django views.py中,您还可以使用view函数处理/保存此表单中提交的对象/数据


如果您想使用Django创建的表单,那么您还可以通过HTML字段的id标识表单中的所有字段,您希望在提交后显示这些字段,这取决于字段名。您也可以对它们使用getElementById,也可以对它们使用上述函数。

使用javascript无法有效地实现这一点(cookies、localstorage等不是一个很好的方法)。如果您想在表单提交后保留值,并重新加载页面,则可以使用服务器端代码。如果您提交时不使用AJAX,则页面将重新加载。您的后端是什么?Django?您的意思是
SubmitForm1();showMessage()
,带有
?@Miro yea。它是基于Django构建的