Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.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
如何将jQuery[each]循环中的JavaScript存储到php变量_Php_Jquery_Each - Fatal编程技术网

如何将jQuery[each]循环中的JavaScript存储到php变量

如何将jQuery[each]循环中的JavaScript存储到php变量,php,jquery,each,Php,Jquery,Each,我[成功地]将jQuery片段存储在php变量中,片段中的值由php脚本填充,如下所示: ...//collect necessary variables $script = " <script type='text/javascript'> (function($) { analytics.identity('" . $cid . "', { created: '" . $created . "', email: '" .

我[成功地]将jQuery片段存储在php变量中,片段中的值由php脚本填充,如下所示:

...//collect necessary variables

$script = "
  <script type='text/javascript'>
    (function($) {
      analytics.identity('" . $cid . "', {
        created: '" . $created . "',
        email: '" . $email . "',
        ...: '" . $whatever . "'
      });
    })(jQuery);
  </script>
";

return $script;
直接添加到页脚的最新脚本:

<script type="text/javascript">
  (function($) {
   $('form').each(function() {
    var formname = $(this).attr('name');
    if( formname !== undefined) {
      console.log( formname );
      var forms = $('form[name="' + formname + '"]');
      var trackforms = analytics.trackForm(forms, 'Submitted Optin Form', { leadmagnet: "'" + formname + '"' });
      return trackforms;
    }
   });
  })(jQuery);
</script>

(函数($){
$('form')。每个(函数(){
var formname=$(this.attr('name');
如果(formname!==未定义){
console.log(formname);
var forms=$('form[name=“”+formname+'“]');
var trackforms=analytics.trackForm(表单,'submittedoptin Form',{leadmagnet:“'”+formname+“});
返回轨道表格;
}
});
})(jQuery);
log输出页面上当前的一个表单,如果我添加了另一个表单,它也会正确输出,但是其余的代码只是按原样编写,我没有得到它

再次感谢。

文档。write(…)
将字符串添加到文档中,而不是脚本中

您需要返回所需的函数

$script = "
  <script type='text/javascript'>
    (function($) {
      analytics.identify('" . $ifs_id . "', {
        created: '" . $created . "',
        email: '" . $email . "',
        firstName: '" . $first_name . "',
        leadsource: '" . $lead_source ."'
      });
      $('form').each(function( index ) {
        var formname = $( this ).attr('name');
        if( formname !== undefined) {
          //console.log( index + ':' + formname );
          var forms = $('form[name=\"+formname+\"]);
          var trackform = analytics.trackForm(forms, 'Submitted Opt In Form', {
             leadmagnet : $( this ).attr('name')
           });
          return trackform;

        }
      });
    })(jQuery);
   </script>
";

return $script;
$script=”
(函数($){
分析。识别(“$ifs_id.”{
已创建:“$created.”,
电邮:“$email”。”,
名字:“$first_name.”,
leadsource:““$lead_source.”
});
$('form')。每个(函数(索引){
var formname=$(this.attr('name');
如果(formname!==未定义){
//log(索引+':'+formname);
var forms=$('form[name=\'+formname+\');
var trackform=analytics.trackform(表格“提交的选择加入表格”{
铅磁:$(this.attr('name'))
});
返回轨迹表;
}
});
})(jQuery);
";
返回$script;

是否需要将
trackform
括在引号中,以便它将其作为字符串返回,因为这不起作用…否。循环运行时,它将遍历每个表单…然后返回函数
analytics.trackform(…)
。我缺少了一些东西…它将它添加到字符串中,并且没有输出变量,直到不工作…我添加的代码片段在页面上不直接工作,它只是输出脚本,而不是循环的预期结果-帮助!它将此文本添加到php字符串中。但是当浏览器加载此javascript页面时它运行循环,该循环运行
analytics.trackForm(…)
函数。您不会在循环中看到表单名称等的输出,但您不需要查看。它正在运行循环和函数。
<script type="text/javascript">
  (function($) {
   $('form').each(function() {
    var formname = $(this).attr('name');
    if( formname !== undefined) {
      console.log( formname );
      var forms = $('form[name="' + formname + '"]');
      var trackforms = analytics.trackForm(forms, 'Submitted Optin Form', { leadmagnet: "'" + formname + '"' });
      return trackforms;
    }
   });
  })(jQuery);
</script>
$script = "
  <script type='text/javascript'>
    (function($) {
      analytics.identify('" . $ifs_id . "', {
        created: '" . $created . "',
        email: '" . $email . "',
        firstName: '" . $first_name . "',
        leadsource: '" . $lead_source ."'
      });
      $('form').each(function( index ) {
        var formname = $( this ).attr('name');
        if( formname !== undefined) {
          //console.log( index + ':' + formname );
          var forms = $('form[name=\"+formname+\"]);
          var trackform = analytics.trackForm(forms, 'Submitted Opt In Form', {
             leadmagnet : $( this ).attr('name')
           });
          return trackform;

        }
      });
    })(jQuery);
   </script>
";

return $script;