2016-03-08 39 views
1

我在PHP中爲基本計算器製作一個代碼,並且必須使用JavaScript將它顯示在屏幕上。但是,當我嘗試在Firefox中進行任何計算時,頁面將使用空白代碼重新加載,並且只顯示0。當我在Firefox中使用document.write(onClick)時,頁面會重新加載

在Google Chrome瀏覽器中,一切都很正常。

我試過放document.open()document.close(),這在Chrome中仍能正常工作,但在Firefox中沒有任何反應。

有人有這個解決方案嗎?

這是我的函數:

<?php 
function calcular(){ 
    $n1 = isset($_POST["val1"])?$_POST["val1"]:0; 
    $n2 = isset($_POST["val2"])?$_POST["val2"]:0; 
    $op = isset($_POST["operacao"])?$_POST["operacao"]:1; 

    switch ($op) { 
    case 'subtracao': 
     $res = $n1 - $n2; 
     break;  

    case 'multiplicacao': 
     $res = $n1 * $n2; 
     break; 

    case 'divisao': 
     $res = $n1/$n2; 
     break; 

    default: 
     $res = $n1 + $n2; 
     break; 
    } 

    echo $res; 
} 
?> 

代碼的形式:

謝謝!

+1

你不應該混合PHP,HTML,JS是這樣的... –

+1

使用'',而不是提交 –

+0

我真的儘量不要!我仍然不知道任何其他解決方案... –

回答

1

您不需要JavaScript。只要保持你的PHP功能,這應該工作:

<?php 
function calcular() { 
    // your function... 
} 
?> 
<form method="post"> 
    <p><input type="text" name="val1"></p> 
    <p><input type="text" name="val2"></p> 
    <p><input type="text" name="operacao"></p> 
    <p><input type="submit"></p> 
</form> 
<div> 
    <?php calcular(); ?> 
</div> 
+0

我不知道爲什麼我認爲我需要JavaScript,現在我的代碼工作得很好,我只是把所有東西都複雜化了!謝謝! –

相關問題