我有以下代码,效果很好。
<div style="padding:2px;">
<form action='test.php' name ='gen' method='post'>
<input type='text' name='pass' placeholder="Insert website" size="10"> <input type='submit' value='Open'>
</form>
</div>
<?php
$random = 'specificsaltcode'; // specific salt
$pass2 = $_POST['pass'] . $random; // add it to user input
$pass = md5($pass2); // md5() both
$url = 'http://www.website'.$_POST['pass'].'random'.$pass.'randomurlcontinued'; // the url you need
echo '<iframe id="iframe1" name="iframe1" scrolling="yes" src="' . $url . '" style="position: absolute; left: 0px; top: 26px;" width="99%" height="88%" border="0"></iframe>';
?>
这会散列用户输入字符串,并将原始输入字符串以及散列数作为网址发送到iframe。这对我很有用。
但是,我不是将网址发送到iframe,而是将其发送到下拉列表并使用本地存储进行存储。
我的下拉代码有以下代码。
<style>
#choice option { color: black; }
.empty { color: gray; }
</style>
<script>
var VM = function () {
this.annotationList = ko.observable();
this.area = ko.observableArray();
this.append = function () {
this.area.push(this.annotationList());
localStorage.setItem('labelObject',this.annotationList());
localStorage.setItem('labelObjectList',this.area());
};
};
var existAnnotationmodel = new VM();
ko.applyBindings(existAnnotationmodel);
</script>
<script>
$("#choice").change(function () {
if($(this).val() == "0") $(this).addClass("empty");
else $(this).removeClass("empty")
});
$("#choice").change();
</script>
<form >
<span class="btn-group">
<select name="select" data-bind="options: area" id="choice">
<option value="0" selected="selected">Choose website</option>
</select>
<input id="editExistannotation" data-bind="value: annotationList" type="text" placeholder="Enter website"/>
</span>
<button id="buttonSave" type="submit" data-bind="click:append" >Save</button>
</form>
<div id="labelList" class="btn-group" ></div>
但是,此下拉方法不会存储这些附加内容。事实上,它根本不会向菜单添加任何项目。我希望它在下拉列表中添加一个项目,并使用本地存储保存,因此当用户刷新页面时,附加内容仍然存在。
所以有两个问题,如何将url传递给下拉列表,以及如何使下拉列表保存附加项目。
此外,我现在并不担心安全问题。