0

ログインを確認するための送信ボタンと新しいユーザーを作成するためのリンクを備えたフォームを作成しています!

私はこれを次のようにコーディングしています:

<script language="javascript">

function new_user()
{
        document.getElementById("login").value='registo';
}


</script>

<form id="frmLogin" name="frmLogin" method="post" action="#">
    <table>
        <tr>
            <td><label for="username">Nome do utilizador</label></td>
            <td><input type="text" name="username" id="username" /></td>
        </tr>
        <tr>
            <td><label for="password">Palavra-passe</label></td>
            <td><input type="text" name="password" id="password" /></td>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" name="OK" id="OK" value="Submit"/></td>
        </tr>
        <tr>
            <td><input type="hidden" name="login" id="login" value="login"/></td>
            <td><a href="#" onclick="new_user();document.frmLogin.submit();">Novo Utilizador</a></td>
        </tr>
    </table>
</form>

ユーザーがボタンまたはリンクを押したかどうかを知るために、非表示フィールドを使用したいと考えています。

コードを小さくするために、代わりにこのコードを使用したいと思います。

<form id="frmLogin" name="frmLogin" method="post" action="#">
    <table>
        <tr>
            <td><label for="username">Nome do utilizador</label></td>
            <td><input type="text" name="username" id="username" /></td>
        </tr>
        <tr>
            <td><label for="password">Palavra-passe</label></td>
            <td><input type="text" name="password" id="password" /></td>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" name="OK" id="OK" value="Submit"/></td>
        </tr>
        <tr>
            <td><input type="hidden" name="login" id="login" value="login"/></td>
            <td><a href="#" onclick="document.getElementById("login").value='registo';document.frmLogin.submit();">Novo Utilizador</a></td>
        </tr>
    </table>
</form>

これがうまくいかない理由を誰かに説明してもらえますか?

4

2 に答える 2

1

onclickイベントハンドラーの定義で引用符が衝突している可能性があります。お使いのブラウザはそれをとして解釈していonclick="document.getElementById("ます。

document.getElementById文の引数を一重引用符で囲んでみてください。

onclick="document.getElementById('login').value='registo';document.frmLogin.submit();">
于 2013-03-05T11:18:09.503 に答える
0

以下のように使用できます

<td><a href="#" onclick="document.getElementById('login').value = 'registo';document.frmLogin.submit();">Novo Utilizador</a></td>

single quoteそのために使用すると、getElementByIdそれが解決されます。

于 2013-03-05T11:18:32.140 に答える