从css下拉菜单发布

时间:2014-03-01 17:12:10

标签: php css

我有几个发送帖子数据的提交按钮:

<form name="Master" form action="Master.php" method="post">
<table width="800" border="0">
  <tr>
    <td><input name="Master" type="submit" value="Test1"/></td>
    <td><input name="Master" type="submit" value="Test2"/></td>
  </tr>
</table>
</form>

现在我改变主意,想要使用下拉菜单:

<ul class="menu" id="menu">
    <li ><a href="" class="menulink">Home</a>
    <li ><a href="" class="menulink">Main1</a>
        <ul>
            <li><a href="" class="sub">Test1</a>
            <li><a href="" class="sub">Test2</a>
        </ul>
</li>
</ul>

CSS代码(menu,menulink,sub等)正确显示此菜单。

但我不想大肆渲染处理原始帖子值的php文件。

所以我的问题是:

我可以在此下拉菜单中发送使用“方法帖子”吗?怎么样?

Thanxs。

2 个答案:

答案 0 :(得分:1)

正如Justin已经评论过的那样,只需在下拉菜单中添加一个表单,然后就像在代码1中一样提交。

<form name="Master" action="Master.php" method="post">
<ul class="menu" id="menu">
        <ul>
            <li><input name="test" type="submit" class="sub" value="test1"/>
        </ul>
</li>
</ul>
</form>

答案 1 :(得分:0)

为了最好地保留链接的外观,您需要使用JavaScript。在第二个示例中,删除href属性并包含此脚本(未经测试):

var form = document.createElement('form');
form.action = "Master.php";
form.method = "post";

window.onload = function() {
    var menu = document.getElementById('menu');
    menu.onclick = function(e) {
        var link = e.target || e.srcElement;
        if (link.tagName !== "A") return;

        var input = document.createElement('input');
        input.name = "Master";
        input.value = link.textContent || link.innerText;
        form.appendChild(input);
        form.submit();
    };
};

或者,您可以将第二个示例包装在<form>中并将锚点更改为输入,如下所示:

<form name="Master" action="Master.php" method="post">
    <ul class="menu" id="menu">
        <li ><input name="Master" type="submit" value="Home" />
        <li ><input name="Master" type="submit" value="Main1" />
            <ul>
                <li><input name="Master" type="submit" value="Test1" />
                <li><input name="Master" type="submit" value="Test2" />
            </ul>
        </li>
    </ul>
</form>

然后,在CSS中,使输入看起来像链接。例如,删除所有边框,填充,边距,背景颜色和文本颜色;并将字体设置为inherit。然后应用任何额外的造型。