HTML / PHP / JS问题 - onclick功能不起作用

时间:2014-05-06 05:34:16

标签: javascript php html function

所以在这里我试图调用一个函数,它传递2个值作为参数(使用php动态添加)。无论我尝试什么,该死的东西似乎都不起作用。你们任何人都可以指出我做错了什么吗?这是代码:

// HTML/PHP

$pid = $row['postID'];
$pt = $row['postTitle'];

//There arrays are working great.

<a href="#" onclick="<?php echo "delpost($pid, '$pt')"; ?>">Delete</a> // Does not call delpost

<a href="#" onclick="delpost(<?php echo $pid; ?>)">Delete</a> // BUT if i remove the second parameter, it works! How? 

// JS

<script language="JavaScript" type="text/javascript">

function delpost(id, title) {
    if (confirm("Are you sure you want to delete" + title + "?")) {
        window.location.href = 'index.php?delpost=' + id;
      }
}

</script>

4 个答案:

答案 0 :(得分:0)

"delpost上的引号是错误的。 delpost是一个函数,因此onclick"<?php echo delpost($pid,$pt); ?>"应该有效。

答案 1 :(得分:0)

删除//不调用delpost删除//但是如果删除第二个参数,它就可以了!怎么样?

第一次删除不起作用,因为当你在一个函数上传递两个值时,一个值为空,表明它无法正常工作

<?
$pid = 1;
$pt = 2;
//There arrays are working great.
?>

<a href="#" onclick="delpost(<?php echo $pid?>,<?php echo $pt?>)">Delete</a> // Does not call delpost

<a href="#" onclick="delpost(<?php echo $pid; ?>)">Delete</a> // BUT if i remove the second parameter, it works! How? 


<script language="JavaScript" type="text/javascript">

function delpost(id, title) {
    alert(id);
    if (confirm("Are you sure you want to delete" + title + "?")) {
        window.location.href = 'index.php?delpost=' + id;
      }
}

</script>

答案 2 :(得分:0)

<a href="#" onclick="delpost(<?=$pid?>, '<?=$pt?>')">Delete</a>

答案 3 :(得分:0)

我直接尝试了你的代码并且它有效,但我还添加了另一种编写代码的方法:

<?php

  $pid = 42;
  $pt = 'Awesometitle 2000';
?>

<a href="#" onclick="<?php echo "delpost($pid, '$pt')"; ?>">Delete</a>
<a href="#" onclick="<?php echo 'delpost(' . $pid . ', \'' . $pt . '\');'; ?>">Delete 2</a>


<script>
function delpost(id, title) {
  console.log(id);
  console.log(title);
}
</script>

两种变体都应该打印42和&#34; Awesometitle 2000&#34;在你的控制台中。