[英]How can i pass String to onclick message?
public function confirmTransactionButton($confirmationFlag, $buttonName) {
$disabled = '';
$warningMessages = 'Watch Out';
$functionName = "return confirm(" . '\'' . "$warningMessages" . '\'' . ")";
if ($confirmationFlag == constant("Y.ENUM")) {
$disabled = 'disabled';
}
$button = "<input name='$buttonName' type='submit' class='BUTTON' id='$buttonName' onclick='$functionName' value='" . constant('KONFIRMASI.CON') . "' " . $disabled . " />";
return $button;
}
誰能幫我這個問題,警報對話框將不會出現。
我的情況下,我將字符串更改為數字,它的工作
$warningMessages = 'Watch Out';
$functionName = "return confirm(" . '\'' . "$warningMessages" . '\'' . ")";
至
$warningMessages = '123';
$functionName = "return confirm(".$warningMessages.")";
問題是您正在為JS字符串和HTML屬性值使用相同的分隔符,這會過早地終止屬性值。 查看生成的源,您將看到:
看起來像
<input ... onclick='confirm('foo')' />
您看到問題了嗎(語法高亮顯示有幫助)?
您可以使用不同的引號解決此問題:
$functionName = "return confirm(" . '"' . "$warningMessages" . '"' . ")";
// ^ ^
因此,您的HTML將成為
<input ... onclick='confirm("foo")' />
當然,最好的解決方案是根本不使用內聯事件處理程序。 查看這些文章,以了解有關事件處理的更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.