$\u使用javascript发布–;它可以在javascript中工作,但不能在jquery插件中工作
我有一张要提交的表格。 现在我想在下一页用javascript检索提交的数据 当我把它放在html的主体中时,它工作得很好:$\u使用javascript发布–;它可以在javascript中工作,但不能在jquery插件中工作,javascript,php,jquery,forms,Javascript,Php,Jquery,Forms,我有一张要提交的表格。 现在我想在下一页用javascript检索提交的数据 当我把它放在html的主体中时,它工作得很好: <script> var $_POST = <?php echo json_encode($_POST); ?>; document.write($_POST["form_input_name"]); </script> var$_POST=; 文件。写($_POST[“表单输入名称]); 现在,我想在jQuery
<script>
var $_POST = <?php echo json_encode($_POST); ?>;
document.write($_POST["form_input_name"]);
</script>
var$_POST=;
文件。写($_POST[“表单输入名称]);
现在,我想在jQuery插件方法中使用这个功能。
我在jquery插件中尝试了以下操作:
$.pluginname.test = function() {
var $_POST = <?php echo json_encode($_POST); ?>;
document.write($_POST["form_input_name"]);
};
$.fn.pluginname = function() {
var $_POST = 'SOME TEXT HERE';
$(this).text($_POST);
};
$('.el').pluginname();
$.pluginname.test=函数(){
var$_POST=;
文件。写($_POST[“表单输入名称]);
};
但当我尝试在html主体中执行它时,会收到以下错误消息:
[错误]语法错误:如果要创建jQuery插件,则意外标记“:
$.pluginname.test = function() {
var $_POST = <?php echo json_encode($_POST); ?>;
document.write($_POST["form_input_name"]);
};
$.fn.pluginname = function() {
var $_POST = 'SOME TEXT HERE';
$(this).text($_POST);
};
$('.el').pluginname();
演示:
注意:请确保jQuery包含在
编辑: 由于您已将插件放在单独的.js文件中,因此需要将PHP变量传递到index.html文件中的插件。以下是一个例子:
// pluginname.jquery.js <-- separate file for your plugin
$.fn.pluginname = function(options) {
$(this).text(options.var1);
};
// index.html (or any html file)
$('.el').pluginname({ var1: $_POST["somePHPVar"], var2: 'var2Value' });
//pluginname.jquery.js如果要创建jquery插件:
$.pluginname.test = function() {
var $_POST = <?php echo json_encode($_POST); ?>;
document.write($_POST["form_input_name"]);
};
$.fn.pluginname = function() {
var $_POST = 'SOME TEXT HERE';
$(this).text($_POST);
};
$('.el').pluginname();
演示:
注意:请确保jQuery包含在
编辑:
由于您已将插件放在单独的.js文件中,因此需要将PHP变量传递到index.html文件中的插件。以下是一个例子:
// pluginname.jquery.js <-- separate file for your plugin
$.fn.pluginname = function(options) {
$(this).text(options.var1);
};
// index.html (or any html file)
$('.el').pluginname({ var1: $_POST["somePHPVar"], var2: 'var2Value' });
//pluginname.jquery.js如果此代码:
$.pluginname.test = function(){};
在外部js文件中,则无法为其分配php代码值。这将导致错误。所以我有一个解决方案,比如制作一个基于args的插件,比如:
$.pluginname.test = function(phpObj){
document.write(phpObj["form_input_name"]);
};
您可以在脚本块中的php/html页面上调用它,如下所示:
<script>
$.selector.test(<?php echo json_encode($_POST); ?>);
</script>
$.selector.test();
如果此代码:
$.pluginname.test = function(){};
在外部js文件中,则无法为其分配php代码值。这将导致错误。所以我有一个解决方案,比如制作一个基于args的插件,比如:
$.pluginname.test = function(phpObj){
document.write(phpObj["form_input_name"]);
};
您可以在脚本块中的php/html页面上调用它,如下所示:
<script>
$.selector.test(<?php echo json_encode($_POST); ?>);
</script>
$.selector.test();
您的PHP标记将被评估为JavaScript。这意味着PHP没有处理它们
这可能是因为您已将脚本移动到.js
文件中
虽然可以从PHP生成JavaScript文件,但这对您没有帮助:您试图生成的数据正在提交到生成HTML文档的PHP脚本
在生成HTML的PHP文件中,将脚本移回
和
之间。您的PHP标记将被评估为JavaScript。这意味着PHP没有处理它们
这可能是因为您已将脚本移动到.js
文件中
虽然可以从PHP生成JavaScript文件,但这对您没有帮助:您试图生成的数据正在提交到生成HTML文档的PHP脚本
在生成HTML的PHP文件中,将脚本移回
和
之间。插件是js
文件吗?试试这个var$\u POST=“”代码>。还要确保jQuery包含在主体中之前。如果它仍然抛出错误,请使用Chrome开发者工具对其进行调试(在var$\u POST=…
之后设置debugger
)@chris85看起来像是在主体中执行它~'但是当我尝试在html主体中执行它时,我认为错误与您的想法完全不同。请在函数中添加简单的“alert('test')。这是什么?$.pluginname.test
pluginname?是否类似于在jquery之上创建插件的方式?在外部js文件中似乎有一个php代码。如果是这种情况,那么它就不会那样工作。插件是一个js
文件吗?试试这个var$\u POST=“”代码>。还要确保jQuery包含在主体中之前。如果它仍然抛出错误,请使用Chrome开发者工具对其进行调试(在var$\u POST=…
之后设置debugger
)@chris85看起来像是在主体中执行它~'但是当我尝试在html主体中执行它时,我认为错误与您的想法完全不同。请在函数中添加简单的“alert('test')。这是什么?$.pluginname.test
pluginname?是否类似于在jquery之上创建插件的方式?在外部js文件中似乎有一个php代码。如果是这样的话,那就不会这样了。