我有一个页面,用户可以按左键+右键滚动1-10之间的数字。
默认值为0,显示为空。
底部有两个按钮,允许用户"清除"数字-将其重置为0。或者选择一个随机数进行"无序播放"。
在此之后,用户可以将这些数字提交到数据库中。
我的问题是,如果用户滚动到5(例如),点击shuffle然后提交,它会提交"5",而不是它应该生成的随机数。
此外,如果用户只单击"shuffle"然后提交,则会输入"0"。
"清除"按钮的问题类似,如果用户滚动到5,然后点击重置,则提交时变量将保持在"5"。
我可能把一些非常简单的事情搞得过于复杂了,如果我是的话,我很抱歉,但这让我很恼火。
谢谢~
如果不查看您的代码,我不完全确定问题出在哪里。我感觉是这样的:
Javascript
var opNumb = 0; //default number
left = function(){if (opNumb>0) opNumb--;
updateNumb(opNumb);}
right = function(){if (opNumb<10) opNumb++;
updateNumb(opNumb);}
def = function(){opNumb=0;
updateNumb(opNumb);} //function to return to default
randomNumb = function(){opNumb = Math.floor(Math.random() * 11);
updateNumb(opNumb);}
updateNumb = function(Numb){document.forms[0].opVal.value = Numb;}
window.onkeydown = press; //bind keydown to press function
function press(e){
if (e.keyCode == 37) left();
if (e.keyCode == 39) right()
}
HTML表单
<form id="frm1">
<input type="text" name="opVal" value="0"/><br />
<input type="button" value="left" onclick="left()"/><input type="button" value="right" onclick="right()"/><input type="button" value="Clear" onclick="def()"/><input type="button" value="Shuffle" onclick="randomNumb()"/><br />
<input type="button" value="Submit form" onclick="alert(opNumb);"/>
</form>
你的表格是什么样子的?你很可能在设置值时遇到问题?
链接到示例
听起来你的号码没有保存,所以每当你在屏幕上更新号码时,我都会保存号码,这样你就应该一直发送你看到的号码。
var number = 0;
//All your events to call the different functions
function moveLeft{
//logic
reset(num);
}
function moveRight{
//logic
reset(num);
}
function shuffle{
//logic
reset(num);
}
function reset{
//logic
reset(num);
}
reset(num){
number = num;
//update the HTML
}