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 被禁用,它会回发到服务器,并执行向用户呈现页面所需修改的逻辑。如果启用了 js,您可以使用 JavaScript 来阻止表单提交和处理逻辑客户端。

这是一个关于它的外观的想法

<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 的情况下运行的应用程序,你必须使用诸如优雅降级和渐进增强之类的设计原则。详细解释如何实现这一点将超出本问答网站的范围。

或者,您可以像 GMail 那样拥有一个单独的仅 HTML 站点。

在编写应用程序之前,必须考虑是否支持少 JavaScript 浏览器或拥有单独的站点或进行优雅降级的决定,并且必须提前做出相应的妥协。

于 2012-11-07T06:09:25.877 回答