0

クリックされたリンクを警告すると思われるphpプログラムがあります。たとえば、リンクがhelloあり、そのリンクをクリックするとjavascriptが警告する必要がありhelloます。スペースがなくても問題なく動作しますが、リンクがある場合hello worldは何も警告しません。これらの単語はデータベースから抽出されます。

私のコードは以下のとおりです

function gmail(val)
{
    alert(val);
}

phpの場合

<?php
    $name="raj"; //this is just a dummy value
    $include "database_connectivity.php";
    $conn=odbc_connect($dsn,$database_username,$database_password);
    if(!$conn)
    {
        die('Could not connect to database.'.odbc_error());
    }
    $select="SELECT WHERE_TO_CHANGE FROM REQUEST_SEND_TABLE WHERE SENT_FROM ='$name'";
    $exe=odbc_exec($conn, $select);
    if(!$exe)
    {
        die("Could not execute query".odbc_error());
    }
    while($row_user=odbc_fetch_array($exe))
    {
        $show=$row_user['WHERE_TO_CHANGE'];
        echo "<input type='hidden' id='".$show."' value='".$show."'>";
        echo "<a href='#' id='check'  onClick='gmail(".$show.".value)' >".$show."            </a>";
        echo"<br>";
    }
    odbc_close($conn);
?>

ここで何が悪いのか誰にも教えてもらえますか?

4

4 に答える 4

2
while($row_user=odbc_fetch_array($exe))
{
    $show=$row_user['WHERE_TO_CHANGE'];
    $show_nospace = str_replace(' ', '_', $show);
    echo "<input type='hidden' id='".$show_nospace."' value='".$show."'>";
    echo "<a href='#' id='check'  onClick='gmail(".$show_nospace.".value)' >".$show."            </a>";
    echo"<br>";
}

また$show、ID で許可されていない他の文字を含めることができる場合は、それらも置き換える必要があります。属性で使用する場合は、引用符もエスケープする必要がありvalueます。

于 2013-01-11T07:09:31.663 に答える
1

スペースがある場合は常に引用符を使用してください

onClick = "gmail('"。$show_nospace。"。value');"

一重引用符を参照してください(「テストテスト」)

于 2013-01-11T07:16:08.763 に答える
1

これを試して:

    echo "<input type='hidden' id='".$show."' value='".$show."'>";
    echo "<a href='#' id='check'  onClick='gmail(".$show.")' >".$show."</a>";

それ以外の:

    echo "<input type='hidden' id='".$show."' value='".$show."'>";
    echo "<a href='#' id='check'  onClick='gmail(".$show.".value)' >".$show."</a>";
于 2013-01-11T07:16:18.230 に答える
1

onclick イベントで、これを次のように変更します。

gmail(document.getElementById($show).value)

ただし、関数でそれを行い、IDを渡すだけの方がよい場合があります。

gmail($show)

そうすれば、.value を呼び出そうとする前に、まず要素の存在を確認できます。

于 2013-01-11T06:49:53.953 に答える