2012-09-19 74 views
0

我仍在使用JavaScript编码的计算器。我问这个问题,我该如何使它停止显示输出警报,并将其打印到名为“Output”下面的div标记中。将警报更改为打印输出

我已经放在我认为这将是在输出和我有这样的粘贴下面:

<html> 
    <head> 
    <link href="stylesheet/stylesheet.css" rel="stylesheet" type="text/css"> 

    <script type="text/javascript"> 



    function checkinputs(){ 
    var  A = parseInt(document.triangleform.input1.value); 
    var  B = parseInt(document.triangleform.input2.value); 
    var  C = parseInt(document.triangleform.input3.value); 


     if (A == B && B == C) { alert("Equalateral"); } 
     if (A == B && B != C || B == C && A != B || C == A && A != B) {alert("Isosceles");} 
     if (A != B && B != C && C != A) {alert("Scalene!");} 
    } 



    function keypress(evt) { 
     var theEvent = evt || window.event; 
     var key = theEvent.keyCode || theEvent.which; 
     key = String.fromCharCode(key); 
     var regex = /[0-9]|\./; 
     if(!regex.test(key)) { 
     theEvent.returnValue = false; 
     if(theEvent.preventDefault) theEvent.preventDefault(); 
     } 
    } 

    function notEmpty(field, NocharMsg){ 
     if(field.value.length == 0){ 
      alert(NocharMsg); 
      field.focus(); 
      return false; 
     } 
     return true; 
    } 
    </script 


    </head> 
    <body> 
    <div id="Container"> 

    <div id="Header"><h1></h1></div> 

      <div id="Content_1"> 
        <div id="Explanation"> 
        This calculator will determine what 
        triangle you have made depending on 
        the integer values in the input fields. 

        </div> 
        <div id="Form"> 
         <FORM NAME="triangleform"> 
         Enter the triangle values below: <br> 
         <p> 
         <h4>Side 1: </h4><BR> 
         <INPUT TYPE="Integer" NAME="input1" onkeypress='keypress(event)' /><P> 
         <h4>Side 2: </h4><BR> 
         <INPUT TYPE="Integer" NAME="input2" onkeypress='keypress(event)' /><P> 
         <h4>Side 3:</h4> <BR> 
         <INPUT TYPE="Integer" NAME="input3" onkeypress='keypress(event)' /><P> 
         <INPUT TYPE="button" NAME="Submit" Value="Submit" onClick="checkinputs()" /> 
         </FORM> 
        </div> 
        <div id="Verbal_Output"> 
         <h2>You made a:</h2> 
         <p>   
         <h2>Triangle</h2> 
        </div> 

       </div> 
       <p> 
       <p> 
      <div id="Content_2"> 

      <div id="Output"> 
      <script> 
      document.getElementById("Output").value = checkinputs(); 

      </script> 
      </div> 



    </body> 
    </html> 

非常感谢你。

回答

2

快到了 - 一个div没有value特性(这对表单输入),但它确实innerHTML财产。只要确保你的return你想要的值是checkInputs(),而不是alert

例如:

function checkinputs() { 
    var A = parseInt(document.triangleform.input1.value), 
     B = parseInt(document.triangleform.input2.value), 
     C = parseInt(document.triangleform.input3.value), 
     result; 


    if (A == B && B == C) { result = "Equilateral"; } 
    if (A == B && B != C || B == C && A != B || C == A && A != B) { result ="Isosceles";} 
    if (A != B && B != C && C != A) { result = "Scalene!";} 

    // return result; 
    document.getElementById("Output").innerHTML = result; 
} 

然后在您的标记:

<script> 
     document.getElementById("Output").innerHTML = checkinputs(); 
</script> 

注意.innerHTML是区分大小写的。

+0

因此,而不是它是'{警报( “名称”);}'这将是 '如果(A = B && B = C && C = A!!!){回报;}? ' '

\t \t \t \t
' –

+0

增加了一个例子,希望有所帮助。 –

+0

谢谢克里斯,我只是改变了你的功能(重新写它自己学习),并改变了div: '

\t \t \t \t
' 仍然没有变化?或者我错过了什么?它会是checkinputs(返回); –

-1
function checkinputs(){ 
    var A = parseInt(document.triangleform.input1.value); 
    var B = parseInt(document.triangleform.input2.value); 
    var C = parseInt(document.triangleform.input3.value); 

    if (A == B && B == C) { $('#output').html("<div>Equalateral</div>");} 
    if (A == B && B != C || B == C && A != B || C == A && A != B) {$('#output').html("<div>Isosceles</div>");} 
    if (A != B && B != C && C != A) {$('#output').html("<div>Scalene!</div>");} 
} 
+0

这将工作,但它会更有帮助,如果你能解释为什么。 –

+0

嗨拉胡尔,谢谢你的回应。如果可以的话,我会很感激:) –

+0

此外,这里没有jQuery要求。 –