0

我正在尝试使用 PHP 中的函数来回显表单元素的“值”属性的值。问题是如果我传递了多个参数,这个表单元素和我页面上的其余 HTML 将不会显示,尽管没有返回错误。使用一个参数,该函数按预期工作。该函数应该接收一个值和一个格式化常量,并将格式化的值回显到表单元素的“值”属性。

附加说明:单引号不会改变结果。如果我删除第二个参数,它处理得很好。

function myFunction($input, $format)
    {           
        if(isset($format))
        {
            switch($format)
            { 
                case "num":
                    if(is_num($input))
                        {
                            echo number_format($input);
                            break;  //only breaks if the input & data type match, else it will return an error with catch
                        }
                case "percent":
                     if(is_num($input))
                     {
                            echo number_format($input, 2);
                            break;  //only breaks if the input & data type match, else it will return an error with catch
                     }
                default:
                    echo "Error: either format doesn't match the variable type or format type is undefined. Input: $input; Format: $format";
            }
        }
        echo number_format($input);
    }
...
<input type="text" name="M7" id="M7" value="<?php myFunction($value, "num"); ?>" onkeypress="return validateNumber(event)" readonly="true" />
4

4 回答 4

0

来自 Sverri M. Olsen 的评论:is_num 不是 PHP 函数。你自己定义了吗?

不,应该是 is_numeric() - 修复了它,谢谢!– RWC 

谢谢!

于 2013-02-01T04:14:03.380 回答
0

试试下面的代码

<input type="text" name="M7" id="M7" value="<?php myFunction($value, \"num\"); ?>" onkeypress="return validateNumber(event)" readonly="true" />

别的

<input type="text" name="M7" id="M7" value="<?php myFunction($value, 'num'); ?>" onkeypress="return validateNumber(event)" readonly="true" />
于 2013-01-31T05:30:05.290 回答
-1

为 num 字符串加上单引号

 <input type="text" name="M7" id="M7" value="<?php myFunction($value, 'num'); ?>" onkeypress="return validateNumber(event)" readonly="true" />
于 2013-01-31T05:28:31.840 回答
-1

这可能是因为 num 周围的“双引号”。尝试将其更改为单引号

于 2013-01-31T05:30:40.600 回答