3

javascriptなしでonclickのようなコマンドを実行するための解決策を教えてください....感謝//javascriptコード:

                function selectedproperty(id)
                {
                document.getElementById("pid").value=id;
                document.getElementById("form1").submit();
                }

                function singleproperty(id)
                {
                document.getElementById("pid").value=id;
                document.getElementById('form1').action="singlepropertydetail.php"
                document.getElementById("form1").submit();
                }  

// html/php code 

 <ul>
    <?PHP
    $sql=mysql_query("select build_name,flat_no,property_id from new_property where owner='".$ownerid."'") or die(mysql_error());
    while($row=mysql_fetch_row($sql))
    {
    echo "<li onclick='singleproperty(".$row[2].");' >".$row[0]." ".$row[1]."</li>";
    }
    ?>
    </ul>
4

2 に答える 2

1

ボタン付きのフォームを li の中に入れます。ユーザーがボタンをクリックすると、js が無効になっている場合はサーバーにポストバックされ、ページに必要な変更をユーザーに提示するロジックが実行されます。JavaScript を使用して、フォームが送信されないようにし、js が有効になっている場合にクライアント側のロジックを処理します。

これがどのように見えるかのアイデアです

<li onclick='singleproperty(".$row[2].");' >
    <form method='post' onsubmit='return false'>
        <input name='singleproperty' type='hidden' value='".$row[2]."'>
        <input type='submit' value='".$row[0]." ".$row[1]."'>
    </form>
</li>
于 2012-11-07T06:02:09.127 に答える
1

値をサーバーに渡すには、次のいずれかを実行できます

  1. フォームをサーバーに送信する送信ボタンを使用します。これにより、URL からパラメーターが非表示になり、要求本文が使用されます。

  2. ページが読み取り操作を行っているだけの場合は、URL にパラメーターが存在するページで GET 要求を実行しても安全です。

JavaScript がなくても動作するアプリを作成する場合は、グレースフル デグラデーションやプログレッシブ エンハンスメントなどの設計原則を使用する必要があります。これを達成する方法を詳しく説明することは、この Q&A サイトの範囲外です。

または、GMail のように別の HTML のみのサイトを持つこともできます。

JavaScript レス ブラウザーをサポートするか、別のサイトを用意するか、適切なデグラデーションを行うかの決定は、アプリケーションを作成する前に十分に検討する必要があり、対応する妥協点を事前に十分に検討する必要があります。

于 2012-11-07T06:09:25.877 に答える