0

我尝试在 php 中创建一个按钮,并在单击时增加或减少其值(在文本输入内)。

<?php

echo "<script>
    function inc(elem)
    {
        x = elem.value;
        //alert('dsadasdasdsadasdas');
        if(x<31)
        {
        x= x+1;
        }
        alert(x);
        elem.value = x;
    }
    </script>";

            echo '<form action="tziros.php" method="post">';
            echo '<input type="text" value="1" name="tziros_imeras">';
            echo '<br>';
            //echo '<input type="button" value="ADD +" onClick="inc(document.getElementById("tziros_imeras"))">';
            echo '<input type="button" value="ADD +" onClick="inc(document.getElementById(\'tziros_imeras\'))">'
            //echo '<input type="button" value="DEC -" onClick="dec();">';  
            echo '<input type="submit" name="submit_tziros_meras" value="OK">';
            echo '</form>'; 
?>

问题是 javascript 根本没有运行。

编辑:阅读你的答案后,我想出了这个:js:

 function inc(elem)
        {
        elem.value++;
        }

并在表格上:

echo '<input type="text" value="1" id="tziros_imeras" name="tziros_imeras">';

所以现在终于,js运行了。

4

3 回答 3

1
  • 您正在tziros_imeras按 ID ( getElementByID) 查找,但您只有name属性设置为tziros_imeras

  • 你只有方法inc()——你缺少方法dec()

最重要的是:

  • 你正在递增x这是一个局部变量(它不会影响实际元素),你应该这样做:

    elem.value += 1;

于 2013-08-12T18:11:24.323 回答
0

这部分代码:

echo '<input type="button" value="ADD +" onClick="inc(document.getElementById("tziros_imeras"))">';

需要是这样的:

echo '<input type="button" value="ADD +" onClick="inc(document.getElementById(\'tziros_imeras\'))">';

输出的JS是这样的:

onClick="inc(document.getElementById("tziros_imeras"))"

正如您会注意到的那样,其中的报价搞砸了。这就是导致 JS 无法运行的原因(查看浏览器控制台,您也会看到错误)。

正如其他人所说,您也有一些 JS 错误,但这是与您的问题相关的主要问题。

于 2013-08-12T18:11:57.520 回答
0

更新您的 PHP 以使用此表单,以便更易于阅读和调试:

回声参考

echo <<<END
content here will be printed
multiple lines!
END;

我不确定我相信你,那不是“跑步”。在您的 JavaScript 中插入警报以进行验证。

alert('I am alive');
于 2013-08-12T18:08:42.843 回答