我目前有一个脚本可以在db中输出某些值,并且它按预期工作。但是现在,我正在尝试添加一个带按钮的列。 db吐出的每一行,我都需要一个可以打开的按钮运行javascript函数,然后打开一个窗口。这在HTML中很好用,但因为它在PHP和#echo中不起作用。它必须用我的引号做一些事情,但我似乎无法弄明白。有人知道如何在回声中嵌入一个按钮,也可以做javascript吗? 仅供参考 - 我希望按钮位于回声内,所以如果有10行,则会显示10个按钮。谢谢!
while($row = odbc_fetch_array($rs))
{
echo '
<tr>
<td class="td" valign="top">
<input type="submit" name="SendEmailManually" value="Submit" onclick="window.open("index.php","newWin", "width=400,height=400")" /></td>
<td class="td" valign="top">' . $Value1 . '</td>
<td class="td" valign="top">' . $Value2 . '</td>
<td class="td" valign="top">' . $Value3 . '</td>
<td class="td" valign="top">' . $Value4 . '</td>
</tr>
';
}
答案 0 :(得分:2)
请不要使用内联javascript,它很丑陋甚至更糟,所以当你需要转义引号以使它工作时。
function openIndex() {
window.open("index.php","newWin", "width=400,height=400");
}
将窗口代码抛出到函数中,并为输入分配一个id(删除onclick属性)。
或者,如果不分配ID,请使用querySelector()
。
var x = document.querySelector("[name='SendEmailManually']");
x.addEventListener("click",openIndex,false);
添加您的事件监听器,突然您有一些漂亮的代码可以很好地处理委派事件。
答案 1 :(得分:1)
onclick属性中的嵌套引号是问题所在。在JavaScript中使用转义的单引号应该可以解决问题:
<input type="submit" name="SendEmailManually" value="Submit" onclick="window.open(\'index.php\',\'newWin\', \'width=400,height=400\')" /></td>
答案 2 :(得分:0)
您使用的是双引号,它会干扰包含onclick
属性值的双引号。请改用单引号。 "window.open('index.php','newWin', 'width=400,height=400')"