Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.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_Css_Django - Fatal编程技术网

Javascript 如果表单提交中出现错误,如何更改页面显示

Javascript 如果表单提交中出现错误,如何更改页面显示,javascript,css,django,Javascript,Css,Django,在我的django应用程序中,我显示了一个页面,该页面有一个按钮,该按钮可以启动和停止时钟。该页面有一个表单,用户可以在该表单中输入一些详细信息,如姓名,描述等,然后提交。最初包含此表单的div被css中的display:none隐藏。只显示按钮,单击按钮时钟开始运行。当用户再次按下同一按钮时,时钟停止,隐藏的表单可见 我使用javascript实现了这一点,javascript为按钮“开始”和“停止”提供了一个状态值。我已经写了一个函数,如果用户点击它,并相应地改变状态 var buttonS

在我的
django
应用程序中,我显示了一个页面,该页面有一个
按钮
,该按钮可以启动和停止时钟。该页面有一个
表单
,用户可以在该表单中输入一些详细信息,如姓名,描述等,然后提交。最初包含此表单的
div
被css中的
display:none
隐藏。只显示按钮,单击按钮时钟开始运行。当用户再次按下同一按钮时,时钟停止,隐藏的表单可见

我使用javascript实现了这一点,javascript为按钮“开始”和“停止”提供了一个状态值。我已经写了一个函数,如果用户点击它,并相应地改变状态

var buttonStatusChange= function(){
    var buttonstatus = $('#clockbtn').attr("value");
    if (buttonstatus == "start"){
        $('#clockbtn').attr("value","stop");
        ...
        hideElement("userinputdiv");
    }else if (buttonstatus == "stop"){
        $('#clockbtn').attr("value","start");
        ...
        showElement("userinputdiv");
    }
};

var showElement=function(elementId){
    var elem_selector='#'+elementId;
    $(elem_selector).show();  
};
var hideElement=function(elementId){
    var elem_selector='#'+elementId;
    $(elem_selector).hide();
};
在我的django视图中,我正在验证帖子中的
userinputform
和其他
forms
。如果验证失败,将显示原始表单(现在该字段旁边有错误)

网页的html

....
<div id="userinputdiv">
    ....
    <form ...>
     <p>
  <span id="myfield">Enter WholeNumber:</span>
  {{my_form.myfield}}{{my_form.myfield.errors}}
  </p>
   ...
。。。。
....

输入整数:
{{my_form.myfield}{{my_form.myfield.errors}

...

不幸的是,由于css有一个显示:userinputdiv为none,该div被隐藏,因此用户无法看到错误。他现在看到的是一个只有一个按钮的页面,可以启动/停止时钟。如果我获取该页面的源代码,错误出现在
中,在相同的情况下,我正在使用Ajax,如果从服务器获取错误,则动态地为字段添加它(我是写在占位符中)。
使用Ajax变体,您可以使用jquery的AjaxStart-AjaxStop函数运行和停止时钟

....
<div id="userinputdiv">
    ....
    <form ...>
     <p>
  <span id="myfield">Enter WholeNumber:</span>
  {{my_form.myfield}}{{my_form.myfield.errors}}
  </p>
   ...