используя метод onclick (), чтобы вызвать функцию, которая открывает окно, которое она берет из нажатой кнопки - PullRequest
1 голос
/ 26 января 2012
    <script language="JavaScript">

         function goThere()
        {
                var the_url = window.document.form.button.value;
                var good_url = fixURL(the_url);
                var new_window = window.open(good_url,"new_window","menubar,resizeable");
        }

        function fixURL(the_url)
        {
                var the_first_seven = the_url.substring(0,7);
                the_first_seven = the_first_seven.toLowerCase();
                if (the_first_seven != 'http://') 
                {
                        the_url = "http://" + the_url;
                }
                return the_url;
        }
        </script>
    </head>
    <body>
    <form name="the_form" onclick="goThere()"; return false;">


    <input type="button" name="the_url" class="broadGroups" onClick="goThere()" value="http://en.wikipedia.org/wiki/Category:Sports"></input>

    <input type="button" name="the_url" class="broadGroups" onclick="goThere()" value="http://en.wikipedia.org/wiki/Category:Film"></input>

</form>
</body>
</html>

Так что этот код может быть испорчен, но вот что я пытаюсь сделать.

В теге есть две кнопки.Я хочу, чтобы каждый использовал метод onsubmit для запуска функции goThere ().Как мне настроить его так, чтобы the_url был установлен на значение, которое я извлекаю из тега кнопки.Я также хочу иметь возможность помещать текст, не являющийся URL-адресом, на саму кнопку, позволяя ей вызывать goThere () через вызов метода onsubmit.

В конце концов, он должен просто взять URL-адрес, убедиться, что он запускаетсяс http: // (в данном случае это не имеет значения, потому что пользователь не вводит URL, но я хотел бы сохранить его для других целей позже) и открыть его в новом окне с меню и изменяемым размеромсвойство.

Извините за длинный пост.Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 26 января 2012

Передайте this в вашем goThere звонке. Это приведет к нажатию элемента в вашей функции goThere. Затем вы получаете доступ к атрибутам для нажатой кнопки.

http://jsfiddle.net/wJMgb/

onClick="goThere(this)"

function goThere(elem) {
    var the_url = elem.value;
    var good_url = fixURL(the_url);
    var new_window = window.open(good_url, "new_window", "menubar,resizeable");
}

function fixURL(the_url) {
    var the_first_seven = the_url.substring(0, 7);
    the_first_seven = the_first_seven.toLowerCase();
    if (the_first_seven != 'http://') {
        the_url = "http://" + the_url;
    }
    return the_url;
}
...