on / click语句为onclick javascript:sendURL

时间:2013-03-18 22:05:47

标签: javascript jquery if-statement getelementbyid

我有以下代码用于创建简单的下拉导航。但是,这取决于是否选择了值并且GO按钮将用户带到链接。我想放一个if / else语句,如果没有选择值,GO按钮将默认为第一个链接。

<script>
    function sendURL(url,obj) {
        document.getElementById("urlhidden").value = url;
        jQuery('.current').html(obj.parentNode.innerHTML);
    }
    function submitURL() {
        document.location = document.getElementById("urlhidden").value;
    }
</script>


<form name="navigate" class="select">
    <ul>
        <input type="hidden" name="urlhidden" id="urlhidden" />                 
        <li>
            <a href="javascript:void(0);" onclick="javascript:sendURL('<?php $link = $GLOBALS['base_url'] . '/node/';echo $link?>4',this)">link1</a>
        </li>
        <li>
            <a href="javascript:void(0);" onclick="javascript:sendURL('<?php $link = $GLOBALS['base_url'] . '/node/';echo $link?>5',this)">link2</a>
        </li>
    </ul>
    <div class="btnHolderInline">
        <input type="button" value="Go" onclick="javascript:submitURL();"/>
    </div>
</form>

1 个答案:

答案 0 :(得分:0)

对我来说,这看起来并不那么“简单”。 “传统”下拉导航有什么问题?

<form action="javascript:location.href=this.page.options[this.page.selectedIndex].value">
    <select name="page">
        <option value="somepage.php">link1</option>
        <option value="otherpage.php">link2</option>
    </select>
    <input type="submit" value="Go" />
</form>

除此之外,原始代码的问题在于您似乎没有任何.current元素。你真正想要的是:

function submitURL() {
    $(this).parent("form").find("a:eq(0)").click();
}