我有一个用HTML5编写的简单用户设置表单,它将用户定义的设置提交到本地存储。
我希望如此,如果有人再次访问设置页面,并且定义了用户设置,则占位符和/或值会使用这些设置预填充表单。
我已尝试在结尾和开头使用window.load,document.ready,但是如果单击重新加载,我只能获取加载thre值的表单。如果访问该页面,我需要预先填写这些值。
以下是我的版本表格,如果你重新加载页面
,它会加载值首先编写脚本
function loadUserSettings() {
$("#full_name").attr("placeholder", db_user.full_name);
$("#mobile_number").attr("placeholder", db_user.mobile_number);
$("#email_address").attr("placeholder", db_user.email_address);
$("#full_name").attr("value", db_user.full_name);
$("#mobile_number").attr("value", db_user.mobile_number);
$("#email_address").attr("value", db_user.email_address);
}
现在是表格
<body>
<div data-role="page" data-control-title="Settings" data-theme="b" id="settings" class="global_page">
<div data-theme="b" data-role="header" data-position="fixed" class="global_topbar">
<a data-role="button" data-transition="flip" href="index.html" data-icon="back" data-iconpos="left" class="ui-btn-left global_button">
Back
</a>
<a data-role="button" data-transition="flip" href="help_settings.html" data-icon="info" data-iconpos="left" class="ui-btn-right global_button">
Help
</a>
<h3 class="global_header">
Settings
</h3>
</div>
<div data-role="content" style="padding: 1%">
<form id="postSettings" action="" class="global_form">
<div data-role="fieldcontain" data-controltype="textinput" class="full_name">
<label for="full_name">
Name
</label>
<input name="full_name" id="full_name" type="text" data-mini="true"/>
</div>
<div data-role="fieldcontain" data-controltype="textinput" class="email_address">
<label for="email_address">
Email Address
</label>
<input name="email_address" id="email_address" type="email" data-mini="true"/>
</div>
<div data-role="fieldcontain" data-controltype="textinput" class="global_text_input">
<label for="mobile_number">
Mobile Number
</label>
<input name="mobile_number" id="mobile_number" type="tel" data-mini="true"/>
</div>
<input id="store_posting" type="submit" data-icon="plus" data-iconpos="left" value="Store Information" class="global_button" onclick="dbGoUser()"/>
</form>
</div>
</div>
</body>
<script language="JavaScript">
document.ready = loadUserSettings();
</script>
我使用我附加到设置按钮的功能管理了一个解决方法,基本上是
function loadSettingsPage() {
window.location.href = "settings.html";
}
并且每次预填充占位符/值都没有问题,但我使用的是“FLIP&#39;”的数据转换链接。使用上述功能丢失。
理想情况下,当我点击普通链接(我怀疑它只是一个不循环的页面刷新类型选项)或者让我的loadSettingsPage使用JQuery翻转过渡时,我想要修复占位符的注入。
提前感谢您的任何帮助。
答案 0 :(得分:0)
好的,我能够解决一些自定义功能的问题。我不得不失去翻转效果,然后转向简单的淡入淡出,但我最终使用了
function fadeIn() {
$("body").hide();
$("body").fadeIn(500);
}
function loadPageSettings(urlvar) {
$("body").fadeOut(500, function(){ window.location.href = urlvar; });
}
用于自定义函数
所有超链接都使用类似这样的
<a id="home_new_journey" data-role="button" onclick="loadPageSettings('journey_info.html')" data-icon="plus" data-iconpos="left" class="global_button">New Journey</a>
并且在我刚刚拥有的每个页面的页脚上
<script language="javascript">
window.onload = fadeIn();
</script>
所以现在我的页面加载正确,所有动态内容都具有一致的淡化效果。