如何最初隐藏表单,但在重新加载屏幕时呈现表单?

时间:2017-08-14 19:52:25

标签: javascript jquery html django forms

我的屏幕上有一个表单。我想最初隐藏它。用户可以稍后启用它,输入值并提交表单。提交表单将更新屏幕。但这一次我希望表格保持可见。我该怎么做?

以下javascript最初会隐藏表单。

$(document).ready(function(){           

    document.getElementById( 'form1' ).style.display = 'none';          

});

以下脚本将提交表单。但是,无论如何我可以确保表格在之后保持可见吗?我现在所拥有的' document.getElementById(' form1')。style.display =' yes''不起作用。

function SubmitForm1(){ 

        document.getElementById("form1").submit();  
        document.getElementById( 'form1' ).style.display = 'yes'    

}

2 个答案:

答案 0 :(得分:1)

有两种简单的方法可以跨页面(本地存储之外)保持状态。

首先是将信息放入表单网址。防爆。 http://localhost?loaded=true。然后,您可以使用How can I get query string values in JavaScript?之类的代码来检索值并调整表单的可见性。

第二种也是更常见的是在服务器上或者在数据库之类的持久存储中存储某种状态。当您为页面提供服务时,您可以使用您正在使用的任何服务器端模板语言来根据您保存的数据调整表单的可见性。

我会要求您考虑是否应该重定向到第二页,其中表单可见,而不是在同一页面上操纵可见性。

答案 1 :(得分:0)

'是'不是"显示"的有效属性。属性。

通过将元素显示设置为' none'来考虑您在做什么。您手动将元素的css设置为.form {display:none;}。

如果要保持代码不变,请尝试将display属性的值设置为有效属性。喜欢"阻止"或"内联"。

但是,如果您使用的是JQuery,我建议您在表单提交时切换'所需的元素。像:

document.getElementById( 'form1' ).toggle();

这会将显示从非可见切换为可见,反之亦然。

以下是display属性的不同属性值的链接。 https://www.w3schools.com/cssref/pr_class_display.asp