Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > инициализация html-параметра при помощи js


Автор: Pawl 4.1.2014, 00:48
доброго времени суток. Делаю такую ссылку:
Код

<a href=compose_message.htm?cmd=send target="_blank">link</a>

Хочу, чтобы на страничке compose_message.htm значение параметра cmd (т. е. send) сохранялось для дальнейшего использования. В интернете нашел js-функцию, как получать на странице значение параметра из ссылки:
Код

    function gup(name) {
        name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
        var regexS = "[\\?&]" + name + "=([^&#]*)";
        var regex = new RegExp(regexS);
        var results = regex.exec(window.location.href);
        if (results == null)
            return "";
        else
            return results[1];
    }

встроил ее в страничку compose_message.htm:
Код

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<script language="javascript" type="text/javascript">
    function gup(name) {
        name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
        var regexS = "[\\?&]" + name + "=([^&#]*)";
        var regex = new RegExp(regexS);
        var results = regex.exec(window.location.href);
        if (results == null)
            return "";
        else
            return results[1];
    }
</SCRIPT>
<form method="post">
    <input type="hidden" name="cmd" value="gup('cmd')"/>
    <input type="submit" value="отправить">
</form>
</body>
</html>

но на страничке параметр cmd вместо send тупо инициализируется строкой gup('cmd'). Помогите пожалуйста исправить ситуацию!

Автор: Pawl 4.1.2014, 18:17
Если кому интересно, вот как я это сделал:
Код

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script language="javascript" type="text/javascript">
        function getRequestParam(name) {
            name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
            var regexS = "[\\?&]" + name + "=([^&#]*)";
            var regex = new RegExp(regexS);
            var results = regex.exec(window.location.href);
            if (results == null)
                return "";
            else
                return results[1];
        }
        function changeHiddenValue() {
            document.getElementById('111').value = getRequestParam('cmd')
        }
    </SCRIPT>
</head>
<body onload="changeHiddenValue()">
<form method="post">
    <input type="hidden" id="111" name="cmd"/>
    <input type="submit" value="отправить">
</form>
</body>
</html>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)