Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.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
Javascript 在php中提供带有echo参数的onclick方法_Javascript_Php - Fatal编程技术网

Javascript 在php中提供带有echo参数的onclick方法

Javascript 在php中提供带有echo参数的onclick方法,javascript,php,Javascript,Php,有没有更好的方法为php中的echoed提供onclick函数赋值?单击链接或后,我试图打开模式div <div id="modalBox" class="w3-modal"> <div class="w3-modal-content"> <div class="w3-container"> <span onclick="document.getElementById('modalBox').style.d

有没有更好的方法为php中的
echo
ed提供
onclick
函数赋值?单击
链接或
后,我试图打开模式
div

<div id="modalBox" class="w3-modal">
    <div class="w3-modal-content">
        <div class="w3-container">
            <span onclick="document.getElementById('modalBox').style.display='none'" class="w3-button w3-display-topright">&times;</span>
            <p>Some text. Some text. Some text.</p>
            <p>Some text. Some text. Some text.</p>
        </div>
    </div>
</div>


<div class="record-container">
    <table class="table-record">
        <tr>
            <th>Title</th>
            <th>Date Created</th>
            <th>Control</th>
        </tr>

        <?php
        $announcementDaoImpl = new AnnouncementDaoImpl($pdo);
        $announcementList = $announcementDaoImpl->getAllAnnouncementByMostRecent();
        foreach ($announcementList as $key => $value) {
            $announcementTitle = $value->getTitle();
            $dateCreated = $value->getDateAdded();
            echo "<tr>";
            echo "<td>" . $announcementTitle . "</td>";
            echo "<td>" . $dateCreated . "</td>";
            echo "<td><button onclick='showEditModal()'>" . "Edit" . "</button></td>";
            echo "</tr>";
         }
         ?>
    </table>
</div>
我甚至试过这个

echo "<td><button onclick=\"showEditModal('modalBox')\">" . "Edit" . "</button></td>";
echo”“。“编辑”。"";
不走运。模态框不会显示。即使是
警报()
也不会显示

如何在
echo
上提供参数


谢谢。

正确处理字符串中的引号字符后,转义了
,因为字符串分隔符是相同的

试试看:

echo "<td><a href='#' onclick=\"showEditModal('modal1')\">" . "Edit" . "</a></td>";
echo”“;
只需将'modal1'的值更改为正确的元素id。

尝试此链接


或者

处理此类问题有多种方法,其中一种方法是


标题
创建日期
控制
将html与服务器语言分开,它将更具可读性


标题
创建日期
控制
";

谢谢你的回答。我不知道这个替代语法,但它看起来很简洁。我一定会用的。谢谢你的回答。问题解决了。起初我以为它不起作用,只是需要重新加载页面。
echo "<td><button onclick=\"showEditModal('modalBox')\">" . "Edit" . "</button></td>";
echo "<td><a href='#' onclick=\"showEditModal('modal1')\">" . "Edit" . "</a></td>";
<div class="record-container">
    <table class="table-record">
        <tr>
            <th>Title</th>
            <th>Date Created</th>
            <th>Control</th>
        </tr>

        <?php
        $announcementDaoImpl = new AnnouncementDaoImpl($pdo);
        $announcementList = $announcementDaoImpl->getAllAnnouncementByMostRecent();
        foreach($announcementList as $key => $value): ?>
        <tr>
            <td><?php echo $key->getTitle(); ?></td>
            <td><?php echo $value->getDateAdded(); ?></td>
            <td>
                <a href="#" onclick="showEditModal('modalBox')">Edit</a>
            </td>
        </tr>
     <?php endforeach; ?>
    </table>
</div>
<div class="record-container">
    <table class="table-record">
        <tr>
            <th>Title</th>
            <th>Date Created</th>
            <th>Control</th>
        </tr>

        <?php
         $announcementDaoImpl = new AnnouncementDaoImpl($pdo);
         $announcementList = $announcementDaoImpl->getAllAnnouncementByMostRecent();
         foreach ($announcementList as $key => $value):
            $announcementTitle = $value->getTitle();
            $dateCreated = $value->getDateAdded();
            /* comment: "<?=$var?>" this is equal to "echo $var;" endcomment */ 
        ?>
            <tr>
              <td><?= $announcementTitle ?></td>
              <td><?= $dateCreated ?></td>";
              <td>
               <button onclick="showEditModal('<?=$your_variable?>')">
                Edit
               </button>
              </td>
            </tr>
         <?php 
          endforeach; 
         ?>

    </table>
</div>