Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.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
Php 如何将变量对象传递给多个javascript弹出窗体_Php_Javascript_Ajax_Symfony1_Symfony 1.4 - Fatal编程技术网

Php 如何将变量对象传递给多个javascript弹出窗体

Php 如何将变量对象传递给多个javascript弹出窗体,php,javascript,ajax,symfony1,symfony-1.4,Php,Javascript,Ajax,Symfony1,Symfony 1.4,这是我第一次认真研究javascript/ajax 概述: 我有一个索引页,列出了多个记录,每个记录在不同的行上。对于每条记录,我都有一个链接,打开一个小的javascript窗口,其中包含一个symfony表单。一切进展顺利,只是我不知道如何向弹出式javascript传递每条记录的对象Id。以下是我所拥有的: 从行动开始: public function executeTrackReferrals(sfWebRequest $request){ $userId = $this-

这是我第一次认真研究javascript/ajax

概述: 我有一个索引页,列出了多个记录,每个记录在不同的行上。对于每条记录,我都有一个链接,打开一个小的javascript窗口,其中包含一个symfony表单。一切进展顺利,只是我不知道如何向弹出式javascript传递每条记录的对象Id。以下是我所拥有的:

从行动开始:

public function executeTrackReferrals(sfWebRequest $request){
       $userId = $this->getUser()->getId();       
       $this->pager = new sfDoctrinePager('referral', sfConfig::get('app_pager'));
       $this->pager->setQuery(Doctrine_Core::getTable('Referral_submissions')->getUsersSubmissions($userId));
       $this->pager->setPage($request->getParameter('page', 1));
       $this->pager->init();}
主索引页:

<?php 
    include_partial('<a bunch of other includes >');
    include_partial('referral/rtsIndex', array('pager' => $pager));  
?>

首先,你不应该直接在你的模型中使用
核心原则。这里最好的方法是在将查询传递给寻呼机时,在两个表上进行
leftJoin
。然后,在模板中,只需获取关系(如
$object->getRelation()

关于您的问题,您应该在构建
时传递ID,因为它是弹出窗口的内容。该部分来自此文件:
contactformcode.php

告诉我们您在哪里构建这个
div
,您就可以在哪里传递
id

编辑:

我终于明白你的问题了。您的页面上有一个弹出定义,可以在每行的每次单击时调用。您想知道如何将行id传递到全局弹出窗口

这可以在javascript中完成。而不是:

<a href='javascript:fg_popup_form("fg_formContainer","fg_form_InnerContainer","fg_backgroundpopup" );'>
  <?php echo utilities::getStatusCode($submissionObject->getCandidateStatus()); ?>
</a>

我试图在我的模型中不使用核心原则;我很高兴你也教了我怎么做。谢谢关于另一个问题,我已经更新了原始问题,将contactform-code.phpThanks的内容包括在内,以获取迄今为止的帮助。我有点不清楚jQuery操作将放在哪里。在页面头部的脚本标签中定义了什么?如果是这样,那么这样做会完全破坏弹出窗口。弹出窗口根本没有被拉上来。顺便说一句:你是对的,你确实理解我想要实现的目标。不过,你的行为确实在我的url中放置了一个相当小的“#”。)通过注释掉这些行:var rowId=$(this.next('span.row_id').val()$(“#提交”).val(rowId);我能够得到弹出窗口,所以对弹出窗口的调用是有效的,这只是上面两行中它不喜欢的东西。
<?php  include_partial('referral/changeStatusCodeForm'); ?>
<?php
$object = new referral_submissionsForm(<this is where I need to pass an ID for each popup form>);
echo $object;
?>
<script type='text/javascript' src='/project/misc/simple-popup-form-1/scripts/gen_validatorv31.js'></script>
<script type='text/javascript' src='/project/misc/simple-popup-form-1/scripts/fg_ajax.js'></script>
<script type='text/javascript' src='/project/misc/simple-popup-form-1/scripts/fg_moveable_popup.js'></script>
<script type='text/javascript' src='/project/misc/simple-popup-form-1/scripts/fg_form_submitter.js'></script>
<div id='fg_formContainer'>
    <div id="fg_container_header">
        <div id="fg_box_Title">Change Status</div>
        <div id="fg_box_Close"><a href="javascript:fg_hideform('fg_formContainer','fg_backgroundpopup');">Close(X)</a></div>
    </div>

    <div id="fg_form_InnerContainer">
    <form id='contactus' action='javascript:fg_submit_form()' method='post' accept-charset='UTF-8'>

    <input type='hidden' name='submitted' id='submitted' value='1'/>
    <input type='hidden' name='<?php echo $formproc->GetFormIDInputName(); ?>' value='<?php echo $formproc->GetFormIDInputValue(); ?>'/>
    <input type='text'  class='spmhidip' name='<?php echo $formproc->GetSpamTrapInputName(); ?>' />
    <div class='short_explanation'>* required fields</div>
    <div id='fg_server_errors' class='error'></div>
    <div class='container'>

        <?php 
//        $form = new referral_submissionsForm();
          include_partial('referral/changeStatusCodeForm'); 
        ?>
</form>
</div>
</div>
<a href='javascript:fg_popup_form("fg_formContainer","fg_form_InnerContainer","fg_backgroundpopup" );'>
  <?php echo utilities::getStatusCode($submissionObject->getCandidateStatus()); ?>
</a>
<a href="#" class="popup_contact">
  <?php echo utilities::getStatusCode($submissionObject->getCandidateStatus()); ?>
</a>
<!-- use this hidden span to put the row id, to be able to retrieve it using jQuery -->
<span class="row_id" style="display: none">
  <?php echo $referral->getId() ?>
</span>
$('.popup_contact').click(function() {
  // put the row id into the hidden field in the popup
  var rowId = $(this).parent().find('span.row_id').html();
  $('#submitted').val(rowId);

  fg_popup_form("fg_formContainer", "fg_form_InnerContainer", "fg_backgroundpopup");
  return false;
})