Javascript HTML/PHP/JS问题-onclick函数不工作

Javascript HTML/PHP/JS问题-onclick函数不工作,javascript,php,html,function,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')"; ?>">De

因此,这里我尝试调用一个函数,该函数将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>
//HTML/PHP
$pid=$row['postID'];
$pt=$row['postTitle'];
//这些阵列工作得很好。
//不给德尔波斯特打电话
//但是如果我删除第二个参数,它会工作!怎样
//JS
功能delpost(id、标题){
if(确认(“您确定要删除“+标题+”?”){
window.location.href='index.php?delpost='+id;
}
}

delpost
上的引号是错误的。
delpost
是一个函数,因此
onclick”“
应该可以工作。

Delete//不调用delpost Delete//但是如果我删除第二个参数,它会工作!如何工作

第一次删除不起作用,因为当您在函数上传递两个值时,一个值为空,这就是它不起作用的原因

<?
$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>

//不给德尔波斯特打电话
//但是如果我删除第二个参数,它会工作!如何?
功能delpost(id、标题){
警报(id);
if(确认(“您确定要删除“+标题+”?”){
window.location.href='index.php?delpost='+id;
}
}

我直接尝试了您的代码,它成功了,但我还添加了另一种编写方法:

<?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>

功能delpost(id、标题){
console.log(id);
控制台日志(标题);
}

这两个版本都应该在你的控制台上打印42和“Awesometitle 2000”。

因为双引号,请尝试这个
是的,我做得更干净了一点,但仍然不起作用。我直接从你的问题中复制了你的代码Riqwan,它对我有效。好的,我刚刚将$pt=$row['postTitle']更改为$pt=$row['postContent]&它起作用了!现在是一个新问题。为什么postTitle不起作用?postTitle是一个varchar(200),而postContent是mysql数据库中的文本。好的,在检查完代码后,我刚刚将$pt=$row['postTitle']更改为$pt=$row['postContent]&它起作用了!现在是一个新问题。为什么postTitle不起作用?postTitle是一个varchar(200)而postContent是mysql数据库中的文本。请尝试回显
$row['postTitle']
。你得到了什么?你可以键入
来查看$row-array中的所有内容。这非常有效。我得到了文章标题的值。标题的输出有问题吗?或者它现在与标题一起工作吗?另一个不是空的。postTitle是一个varchar(200)并且它存在。但是当我更改为postContent时(这是mySQL中的文本数据类型),它可以工作。有任何原因说明postTitle不工作吗?这不是语法错误。该函数可以工作。但仅适用于文本。postTitle是mySQL中的varchar(200)数据类型。值正在回显,但我猜js不接受它作为有效参数。
<?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>