2011-08-04 41 views
1

下面是我正在努力工作的代碼。正如你所看到的那樣,這個代碼將會調用一個javascript窗口並且效果很好。我現在想要添加註釋掉的行,以便使窗口顯示或不顯示有條件。我嘗試了很多組合的轉義引號,或者用它們代替,但沒有任何工作正常。通常我會丟失鏈接操作,並顯示鏈接中的一些代碼。有人可以看看他們是否可以提出代碼解決方案。轉義引號的複雜情況

<?php 
//if ($review != 0) 
    //$yes2 = 

if ("{$row['passState']}" == 0) {echo "<a href='javascript<b></b>:void(0);'NAME='var basestring='window'+new Date().getTime();' title=' Results of quiz 'onClick=window.open('check/check.php?quizTitle=". urlencode($quizTitle) ."', 'width=1100, height=510, resizable=yes, menubar=no, status=0, scrollbars=1');> <p>Check your answers</p> </a><br />\n";} 


    //echo $yes2;     
    //if ($review != 1) 
    //echo ""; 
    ?> 

如果是任何幫助,我使用這個代碼的頁面上的其他地方,它工作正常。

<?php     
if ($review != 0) 
    $yes2 = "REVIEW"; 
    echo $yes2;     
    if ($review != 1) 
    echo ""; 
    ?> 
+1

懷疑這是問題,但是 - 而不是' 「{$行[ 'passState']}」 == 0',它應該只是'$行[ 'passState'] == 0' – Dave

+1

你已經將javascript代碼和HTML屬性混合在一起了......不能使這段代碼的正面和反面。 –

+0

[引用html標籤屬性問題中的引號]可能重複(http://stackoverflow.com/questions/4939193/quotation-marks-in-value-of-html-tag-attribute-problem) – outis

回答

1
if ("{$row['passState']}" == 0) {echo "<a href='javascript<b></b>:void(0);' NAME=\"var basestring='window'+new Date().getTime();\" title=' Results of quiz ' onClick=window.open('check/check.php?quizTitle=\". urlencode($quizTitle) .\"', 'width=1100, height=510, resizable=yes, menubar=no, status=0, scrollbars=1');> <p>Check your answers</p> </a><br />\n";} 

拷貝,因爲它是....

0

你的onClick需要有一個引號(S)之後=

...f quiz' onClick=\'window.open('check/check.php?quizTitle=". urlencode($quizTitle) ."', 
1

不需要所有的轉義,你應該將PHP代碼嵌入到HTML中,而不是其他方式。例如:

<?php if ($row['passState'] == 0): ?> 

<p> 
    <a href="javascript:your_code()"> 
     Check your answers 
    </a> 
</p> 
<br /> 

<?php endif; ?> 

我有一個很難破譯你的JavaScript是試圖真正做到,但是這會讓人們更方便您閱讀並無需擔心轉義引號編寫HTML,使用\n字符等。

http://php.net/manual/en/control-structures.alternative-syntax.php