Javascript 提交表单后如何显示输入框的消息?
我正在构建一个表单。我希望在提交表单后保持输入值可见。我在网上按照一些说明使用showMessage()函数,但是它对我不起作用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 }} {{
<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构建的