如何在Framework7模式中将PHP传递给Javascript?

时间:2014-11-18 17:24:39

标签: javascript php jquery modal-dialog

我正在制作公司电话簿,我很难将用户的电话号码传递到模式中,以便他们可以使用tel:和mms进行呼叫或发送短信: 。这就是我所拥有的,它绝对不起作用。

PHP

<div class="list-block">   
<ul>
<?php
  $result2 = mysql_query("SELECT * FROM users WHERE terminationDate = '0000-00-00' ORDER BY `firstName`") or die("Query 2 Failed: $result2");
  while ($row2 = mysql_fetch_array($result2))
  {   
    echo "
        <li>
          <a href='?cellPhone=".$row2['cellPhone']."' class='open-3-modal item-link item-content'>
            <div class=\"item-media\"><img height=\"30px\" width=\"30px\" src=\"/photos/".$row2['firstName']."_".$row2['lastName'].".jpg\"></div>
            <div class='item-inner'>
              <div class='item-title'><strong>".$row2['firstName']."</strong> ".$row2['lastName']."</div>
            </div>
          </a>
        </li>
      ";
  }
?>
</ul>

JS

    <script>$$('.open-3-modal').on('click', function () {
    myApp.modal({
    title:  'Call or Text',
    text: '',
    buttons: [
      {
        text: '<?php $result2 = mysql_query("SELECT * FROM users WHERE terminationDate = '0000-00-00' AND cellPhone = '".$_GET['cellPhone']."'") or die("Query 2 Failed: $result2");
              while ($row2 = mysql_fetch_array($result2))
              { echo '<a href="tel:'.$row2['cellPhone'].'" class="tab-link">Call</a>'; } ?>',
      },
      {
        text: '<a href="#" class="tab-link">Text</a>',
      },
      {
        text: 'Cancel',
        bold: true,
        close: function() {
          myApp.alert('Canceled')
        }
      },
     ]
   })
 });

你可能会说,我对JS非常生疏。什么是将信息传递给jQuery的最佳方法?

1 个答案:

答案 0 :(得分:0)

PHP不会以这种方式工作,因为服务器在进入浏览器之前会对其进行处理。如果您在客户端添加它,它将不会执行任何操作。

我要做的是创建一个单独的PHP文件来执行您想要的操作 - 创建您需要的标记并将其发送到浏览器。然后通过AJAX将该页面的内容加载到模态中。有很多方法可以做到这一点。这是一个快速(未经测试)的例子:

    var newText;

    $.ajax({
      url: "your-file.php",
    }).done(function(html) {
        newText = html;
    });

   $$('.open-3-modal').on('click', function () {
        myApp.modal({
        title:  'Call or Text',
        text: '',
        buttons: [
          {
            text:  newText;
          },

     // etc. etc.