2011-10-24 27 views
1
$eventDropdowns ="<form method = \'get\' action = \'changer.php\'>"; 
$eventDropdowns.="<select name = \'change_event\' class = \'dropdown\' id = \'change_event\'><option value = \'\'>Failed loading records</option></select>"; 
$eventDropdowns.="<select name = \'event\' class = \'dropdown\' id = \'event\'><option value = \'\'>Failed loading records</option></select>"; 
$eventDropdowns.="<input name = \'return\' type =\'hidden\' value = \'{$_SERVER['REQUEST_URI']}\'>"; 
$eventDropdowns.="<input type =\'submit\' value = \'CHANGE!\'>"; 
$eventDropdowns.="</form>"; 

我相當肯定的報價樣式必須\',因爲它正處於因爲它是由'它在PHP周圍發生的腳本; PHP調用JavaScript變得麻煩。無法打開長串聯可變進定界符

我不確定這是爲什麼我無法將這個醜陋的連接變量轉換爲heredoc

echo " 
    <div id = \"test\" 
    ondblclick = \"document.getElementById('test').innerHTML = '$eventDropdowns';\"> 
    Change Event 
    </div> 
"; 

當我轉換$evenDropdowns成定界符,整個頁面只是加載空白,沒有任何錯誤。但是,當我保留它時,它會按我的意圖工作,當您雙擊div內的文本時,它會顯示一個通過AJAX填充的表單,並將您發送到另一個頁面進行編輯。

預先感謝您。

回答

1

我不知道你爲什麼會遇到麻煩。 heredoc非常容易編寫。您只需開始吐出文本,就好像您不處於PHP模式一樣,並且可以在文本中嵌入變量。沒有任何轉義,* 除非你想要輸出一個文字$符號。

echo <<<EOL 
<form method ="get" action="changer.php"> 
    <select name="change_event" class="dropdown" id="change_event"> 
     <option value="">Failed loading records</option> 
    </select> 
    <select name="event" class="dropdown" id="event"> 
     <option value="">Failed 
... etc... 
EOL;