【发布时间】:2015-05-01 19:26:22
【问题描述】:
我尝试了许多不同的方法,甚至尝试在 SO 上进行搜索。没有答案是我想要的。
我想要的是有两个输入按钮,可以在纯 javascript 中做一些事情。
按钮一:页面加载时显示“添加”。单击时,该值变为“取消”。此外,当它被点击时,让它显示一个包含三个字段的表单。再次单击时,表单消失。一个命名为“名称”,第二个命名为“位置”,第三个命名为“类型”。我希望用户能够提交这三件事并将它们存储在代码中。
按钮二:从表单中获取用户输入,每次用户单击时,它都会显示所有三个信息值,但让按钮充当随机生成器。假设代码有 5 个单独的条目,我希望在单击按钮时随机选择并显示它们。
就像我说的,我试图完成这项工作,但无法完全超越我想要去的地方。如果您想查看我的原始代码,请询问,但我怀疑它会有所帮助。
提前致谢。
编辑:添加代码。
function GetValue() {
var myarray = [];
var random = myarray[Math.floor(Math.random() * myarray.length)];
document.getElementById("message").innerHTML = random;
}
var testObject = {
'name': BWW,
'location': "Sesame Street",
'type': Bar
};
localStorage.setItem('testObject', JSON.stringify(testObject));
var retrievedObject = localStorage.getItem('testObject');
function change() {
var elem = document.getElementById("btnAdd1");
if (elem.value == "Add Spot") {
elem.value = "Cancel";
} else elem.value = "Add Spot";
}
window.onload = function() {
var button = document.getElementById('btnAdd1');
button.onclick = function show() {
var div = document.getElementById('order');
if (div.style.display !== 'none') {
div.style.display = 'none';
} else {
div.style.display = 'block';
}
};
};
<section>
<input type="button" id="btnChoose" value="Random Spot" onclick="GetValue();" />
<p id="message"></p>
<input type="button" id="btnAdd1" value="Add Spot" onclick="change();" />
<div class="form"></div>
<form id="order" style="display:none;">
<input type="text" name="name" placeholder="Name of Resturant" required="required" autocomplete="on" />
<input type="text" name="type" placeholder="Type of Food" required="required" autocomplete="off" />
<input type="text" name="location" placeholder="Location" required="required" autocomplete="off" />
<input type="submit" value="Add Spot" />
</form>
</div>
</section>
随机发生器有效,显示/隐藏表单也有效。唯一的事情就是存储输入并切换输入值。
【问题讨论】:
-
你能继续把你的代码放上去吗?这样我们就可以看到您的思考过程并提供帮助?
-
没问题,我给你拿。
-
你能用jQuery吗?
-
蒂姆,我不想这样做。试图从我在纯 JS 中的错误中吸取教训。
-
我要指出一件事:在您的测试对象中,您有两个应该是字符串的项目:BWW 和 Bar(除非在其他地方定义了这些东西)
标签: javascript html forms