0

好的,情况就是这样,我有一个 javascript 弹出窗口,可让您向其他用户发送消息。我没有使用表单,因为我希望用户能够在停留在当前页面时发送消息。所以我正在做的是将php变量回显到调用函数,然后当用户点击发送按钮(id = mbutton)时它被发送出去

当我转到 javascript 函数并警告传递的变量时,它会立即发出警告,但在通过 if 语句后会进入“未定义”。

正如您从下面的代码中看到的那样,我设置了 2 个警报……正如我所说,第一个警报很好,但第二个没有。谁能向我解释为什么会这样?

<div id="msgcont">
    <div id="msgheader">
        <span>Send a Message to <? if($array['login']!=$c_log['login']) { echo 
$array['login']; } ?> - Remember to be curtious! </span>
    </div>
    <div id="msgclose" onMouseDown="butclick('message', 'submit')"><span>X</span></div>
    <textarea id="msg"></textarea>
    <div id="mbutton" onMouseUP="butclick('send', 'submit', '<? 
if($array['login']!=$c_log) { echo $array['login']; } ?>')" 
onMouseDown="butclick('send', 'down')">Send</div>
</div>

function butclick(but, action, sentFrom) {
    alert(sentFrom);
    if(but=='send') { 
        alert(sentFrom);
        x = document.getElementById('msg').value;
        if(x==null || x=="") { alert("Please Enter your message before attemping to 
send"); } else { }
    }
}
4

2 回答 2

0

好的,所以我不确定为什么会这样,但我想出了如何让它工作。如果您查看下面的代码,我同时拥有 onMouseUP 和 onMouseDown ...我将我的 butclick 函数调用从 onMouseDown 移动到 onMouseUP 并且它似乎工作得很好......不要让我解释它......它只是。

<div id="mbutton" onMouseUP="butclick('send', 'submit', '<? if($array['login']!=$c_log) { 
echo $array['login']; } ?>')" onMouseDown="butclick('send', 'down')">Send</div>
于 2013-01-08T02:00:14.983 回答
0

这里的这个陈述似乎是不正确的:

if($array['login']!=$c_log) { echo $array['login']; } ?>')" 

然而,您正在比较,$array['login']!=$c_log但在比较之前只有几行:$array['login']!=$c_log['login'].

这让我相信,$c_log作为一个数组,将$array['login'](字符串)与$c_log(数组)进行比较总是会发生冲突。

于 2013-01-07T02:52:37.280 回答