Замена действия формы пользовательским URL - PullRequest
1 голос
/ 17 января 2020

Изучая HTML и JavaScript, я пытаюсь сформировать пользовательский URL-адрес для запроса API на основе ввода, отправленного через форму. Мне удалось обработать большую часть URL, но у меня возникла проблема с получением строки URL для конкатенации после символа «?» при подаче действия. Я сделал это так, основываясь только на документации и сообщениях на форуме, но не могу понять, как выполнить это действие, и просто хотел кого-то спросить.

<div id="stock_quote_iex">
    <form id="get_stock_quote_form" onsubmit="get_stock_quote()" method="GET">
        <p>Enter Symbol and API Key</p>
        <input id="symbol" type="text" placeholder="Symbol">
        <input id="api_key" type="text" placeholder="API_KEY">
        <input type="submit" value="Submit">
    </form>
</div>

<script language="javascript" type="text/javascript">
    function get_stock_quote()
    {
        var form = document.getElementById('get_stock_quote_form')
        var symbol = document.getElementById('symbol').value
        var api_key = document.getElementById('api_key').value
        var action_src = "https://sandbox.iexapis.com/stable/stock/" + symbol + "/quote?token=" + api_key

        form.action = action_src;
    }
</script>
Example inputs:
symbol = NFLX
API_KEY = pk_s0m3rand0mphra5e

Expected output:
https://sandbox.iexapis.com/stable/stock/NFLX/quote?token=pk_s0m3rand0mphra5e

Actual output:
https://sandbox.iexapis.com/stable/stock/NFLX/quote?

1 Ответ

1 голос
/ 17 января 2020

Исправлено путем удаления параметров запроса из конкатенации строк и использования вместо этого атрибута имени в API_Key.

<div id="stock_quote_iex">
    <form id="get_stock_quote_form" onsubmit="get_stock_quote()" method="GET">
        <p>Enter Symbol and API Key</p>
        <input id="symbol" type="text" placeholder="Symbol">
        <input id="api_key" name="token" type="text" placeholder="API_KEY">
        <input type="submit" value="Submit">
    </form>
</div>

<script language="javascript" type="text/javascript">
    function get_stock_quote()
    {
        var form = document.getElementById('get_stock_quote_form')
        var symbol = document.getElementById('symbol').value
        var action_src = "https://sandbox.iexapis.com/stable/stock/" + symbol + "/quote"

        form.action = action_src;
    }
</script>
...