Odkaz z Forme HTML/JS [duplicitné]

0

Otázka

Ja som v súčasnej dobe sa snaží urobiť program, v ktorom môžete zadať odkaz na HTML formulára a pri kliknutí na tlačidlo sa vám pošle na ktoré sa odkazujú. Avšak, keď som kliknite na tlačidlo stránky len vymaže forme. Som Python domácich a nováčik HTML/JS tak, ako som si štruktúrovanie môj kód môže byť dôvod, prečo:

<form>
    <input type="url" id="link" placeholder="Enter link of website:" required>
    <br>
    <button class="outline" id="open">Create gate</button>
    </form>
    <script type="text/javascript">
        document.getElementById("open").onclick = () => 
        location.assign(String(document.getElementById("link").value));
    </script> </form>
html javascript
2021-11-24 05:36:02
2

Najlepšiu odpoveď

1

Keďže ste pomocou formulára. Vaše Tlačidlo

<button class="outline" id="open">Create gate</button>

pôsobí ako forma tlačidlo odoslať, a preto ho obnoví stránku pred vykonaním location.assign() metódy. Existuje mnoho spôsobov, ako to opraviť.

  1. Jeden jednoduchý spôsob, ako je výlučne povedať prehliadač, ktorý nie je toto tlačidlo tlačidlo odoslať, môžeme to urobiť pomocou type="button" atribút v našej tlačidlo.

    Vytvoriť brány

  2. Môžete použiť e.preventDefault() na vašej forme predložiť zastaviť osviežujúci stránky.

Skúste nižšie kód:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Location Object</title>
</head>
<body>
    <form>
        <input type="url" id="link" placeholder="Enter link of website:" required>
        <br>
        <button class="outline" id="open">Create gate</button>
    </form>
    <script type="text/javascript">
        document.getElementById("open").addEventListener('click', (e) => {
             e.preventDefault();
            location.assign(String(document.getElementById("link").value));
        });
       
    </script>
    </form>
</body>
</html>

2021-11-24 05:52:15
0

Kód presne tak, ako predpokladu, vložený do minimálna HTML5 štandardný šablónu pracuje v Textastic kód editor a v Safari beží na localhost.

Možno niektoré iné JavaScript v blízkosti vašej akcie poslucháč je lámanie na šípku funkciu. Možno bracketing jednu funkciu vyhlásenie mohol pomôcť?

2021-11-24 05:48:39

V iných jazykoch

Táto stránka je v iných jazykoch

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................