问题描述
|
我想通过使用jQuery单击按钮在Word新闻插件中保存警报消息
PHP代码:
function ss_load_script() {
echo \"<script type=\'text/javascript\' src=\'\".get_bloginfo(\'wpurl\') .\"/wp-content/plugins/Test/msg.js\'></script>\" .\"\\n\";
}
require_once(\"view.PHP\");
//add_action(\'wp_head\',\'ss_load_script\');
add_filter(\'the_content\',\'test\');
add_action(\'wp_footer\',\'display_copyright\');
View.PHP
function test($content) {
ss_load_script();
if(strpos($content,\'[wel]\')){
createform();
}
return $content;
}
function createform(){?>
<form id=\"frmtest1\">
<table style=\"width:100%;border:1px;\">
<tr>
<td colspan=\"2\" align=\"center\">Register</td>
</tr>
<tr>
<td align=\"right\">UserName</td><td align=\"left\"><input type=\"text\" id=\"txtusername\"/></td>
</tr>
<tr>
<td align=\"right\">Password</td><td align=\"left\"><input type=\"text\" id=\"txtpassword\"/></td>
</tr>
<tr>
<td></td><td align=\"left\"><input type=\"button\" id=\"btnsave\" name=\"btnsave\" onclick=\"a()\" value=\"Save\" /></td>
</tr>
</table>
</form>
Javascript:
function a(){
$.noConflict();
jQuery(document).ready( function () {
$(\"#btnsave\").click(function(){
alert(\"test\")
});
});
}
解决方法
首先,您应该加载WordPress安装中提供的jQuery脚本。您可以在主插件调用中执行此操作,如下所示:
myplugin.php
...
add_action(\'wp_enqueue_scripts\',\'setup_scripts\');
function setup_scripts() {
wp_enqueue_script(\'jquery\');
}
然后,在您的视图中,您可以输出自定义脚本调用。
view.php
...
<?php
// do stuff
?>
<script language=\"javascript\" type=\"text/javascript\">
jQuery(\'#btnsave\').click(function() {
alert(\'Hello\');
});
</script>
根据调用脚本的时间以及DOM完成渲染的时间,您可能需要将调用包装在文档就绪调用中,如下所示:
view.php
...
<?php
// do stuff
?>
<script language=\"javascript\" type=\"text/javascript\">
jQuery(document).ready(function() {
jQuery(\'#btnsave\').click(function() {
alert(\'Hello\');
});
});
</script>