2011-08-04 6 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";} 

コピーをエスケープする方法をにaddslashes使用することができますその後=

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

あなたのonClickは引用符を持っている必要があります....引用符

PHP Manualことがある。このよう

1

すべてのエスケープの必要はありません。PHPコードをHTMLに埋め込む必要があります。例:

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

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

<?php endif; ?> 

私はなど、あなたのjavascriptが実際にやろうとしたが、これは\n文字を使用して、あなたが引用符をエスケープを気にせずにHTMLを読み書きすることが非常に簡単になりますどのような解読苦労していました。

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

関連する問題