2013-09-28 52 views
0

在我的HTML我有以下函数调用JavaScript函数调用说不确定,但功能被定义

<input value="Roll" onclick="roll()" type="button"> 

应该调用定义之前如下功能roll()

<head> 
    <script language="javascript"> 
    // roll function 
    // roll button pressed to roll the die and update as needed 
    function roll(){ 
     wintotal = document.JForm.totalpoints.value;  
     var validate = Validate(); 
     var p1total = document.JForm.p1turn.value; 
     var p2total = document.JForm.p2turn.value; 

     var dienumber = Math.floor(Math.random() * (6 - 1 +1)) + 1; 

     if (validate){ 
      // put together image for die graphic that was rolled 
      document.getElementById("dice").innerHTML = '<img src="die_face_'+dienumber+'.png"/>'; 


     } 
     else if (validate == 0){ 
      document.getElementById("message").innerHTML ="ERROR: Play to points not in range"; 
     } 
     else{ 
      document.getElementById("message").innerHTML ="ERROR: Play to points not in valid integer"; 
     } 
    } // end roll function 
    </script> 
</head><body> 

然而,当我点击HTML页面的按钮,我收到一个错误,说roll是未定义的,即使它在上面明确定义,任何人有任何想法?

+0

你确定这是'roll'的问题,而不是像'Validate'或其他其他功能? – DontVoteMeDown

+0

你能张贴你确切的错误信息得到了吗? – bfavaretto

回答

1

我试过这段代码,就像你说的。然后我删除了这个验证的东西,现在它工作正常。你需要什么?为什么?在发布的示例中不太清楚!

我写了这个作为一个评论,但我没有足够的声誉... :(

编辑:就像我在评论说,如果问题只是检查是否值一个整数或没有,你可以实现这个功能。

function isInt(n) 
{ 
    return n % 1 === 0; 
} 
+0

你是对的,我使用验证函数来返回一个基于文本框的值是否为整数的值。函数验证(){ \t var total = Number(document.JForm.totalpoints.value); \t var good = 1; \t var range = 0; \t var type = 3; \t如果(Math.floor(总)==总){ \t \t如果((总> = 50)&&(总<= 100)){ \t \t \t返回好; \t \t} \t \t否则{ \t \t \t reutrn范围; \t \t \t} \t} \t否则{ \t \t返回类型; \t} } – user2793027

+0

你可以实现函数isInt(n){return n%1 === 0;}来检查你的输入是否是一个整数! – Vereos

相关问题