Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
$\u使用javascript发布–;它可以在javascript中工作,但不能在jquery插件中工作_Javascript_Php_Jquery_Forms - Fatal编程技术网

$\u使用javascript发布–;它可以在javascript中工作,但不能在jquery插件中工作

$\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

我有一张要提交的表格。 现在我想在下一页用javascript检索提交的数据

当我把它放在html的主体中时,它工作得很好:

<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代码。如果是这样的话,那就不会这样了。