我被指控接管一个项目,为一个专有的软件开发一个Web工具/界面。当前的关键点是(使用已建立的实践/模式)根据用户输入的值对服务器执行连接测试。
目前,有一个使用sprintf()格式化的子菜单。我尝试了各种方法来传递参数,但是接收JavaScript函数失败了。
子菜单:
$submenu = sprintf('<div id="Menu"><ul id="ControlSubMenu">%s</ul></div>',
'<li><a href="#inner_content" class="TestConn" id="TestConn" onClick="testpbxconnection($ct_host, $ct_port, $ct_un, $ct_pw);return false;">Test Connection</a></li>
<li> <a href="#inner_content" class="EditConn" id="EditConn" onClick="editpbxconnection();return false;">Edit Connection</a></li>');
接收JS函数,在另一个文件中:
function testconnection(a, b, c, d)
{ alert('Test Function Hit.');
alert('Host: ' + a);
alert('Port: ' + b);
alert('User Name: ' + c);
alert('Password:' + d);
}
我是否走在正确的轨道上?任何帮助将不胜感激。
答案 0 :(得分:0)
这里有一些问题,sprintf
用于字符串中的变量替换,通过传入一个以变量作为参数的字符串来做奇怪的事情。您也没有引用您的javascript变量,这会导致错误。此外,您的函数名称与testpbxconnection
与testconnection
不同。您的sprintf
电话应该更像:
$submenu = sprintf('<div id="Menu">
<ul id="ControlSubMenu">
<li>
<a href="#inner_content" class="TestConn" id="TestConn" onClick="testconnection(\'%s\', \'%s\', \'%s\', \'%s\');return false;">Test Connection</a>
</li>
<li>
<a href="#inner_content" class="EditConn" id="EditConn" onClick="editpbxconnection();return false;">Edit Connection</a>
</li>
</ul>
</div>', $ct_host, $ct_port, $ct_un, $ct_pw);
答案 1 :(得分:0)
you should pass parameter as an argument while calling a function
$demo = "Hello";
<input type="text" onclick="return demoFunction(<?php echo $demo; ?> );"/>
more references
http://www.webdeveloper.com/forum/showthread.php?147162-pass-php-variable-to-javascript-function