-3
 <script language="JavaScript" type="text/javascript">
      function set(n) {

         alert(n);
        document.forms[0].submit();    
      }
    </script>


 $a='A0001';

 printf('<input type="button" value="Delete" onclick="set(%g);"/>', $a);
4

2 回答 2

2

%g是数字,你的数据包含一个数字,但也有字母,所以你需要一个字符串。改为使用%s

然后PHP会输出:

<input type="button" value="Delete" onclick="set(A0001);"/>

你没有调用变量A0001,所以你正在传递undefined

大概你想把值作为一个字符串,所以它需要被引用。该json_encode函数会将数据结构转换为适合传递给 JavaScript 的数据结构。该htmlspecialchars函数将制作一些适合放置在 HTML 属性值中的文本。

printf('<input type="button" value="Delete" onclick="set(%s);"/>', htmlspecialchars(json_encode($a)));
于 2013-04-07T09:33:56.843 回答
0

您需要使用%s包含数字和字母数字字符的变量。

遵循以下代码:

<script language="JavaScript" type="text/javascript">
  function set(n) {
     alert(n);
    document.forms[0].submit();    
  }
</script>

<?php
$a='A0001';
printf('<input type="button" value="Delete" onclick="set(\'%s\');"/>', $a);
?>

这是一个测试版本。

于 2013-04-07T09:40:35.140 回答