Member 14788607 Ответов: 1

Js код отображается в браузере


У меня есть веб-форма, которая вызывает внешний js-код (предупреждение) при нажатии кнопки отправки. Код работает нормально, отображается предупреждение, но затем браузер показывает js-код. Как я могу это остановить?

&низкотемпературный;

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CBO Database Administration Template</title>
<meta name="keywords" content="" />
<meta name="description" content="CBO Database Administration" />
<link href="styles.css" rel="stylesheet" type="text/css" />
<script  src="js/jquery-1.4.2.js"></script>
<script  src="request.js" ></script>
</head>
    <body>
        <div id="logo">
            <img src="cbologo.jpg" alt="CBO Logo" width="450" height="187" />

        </div>
        <div class="heading">
            <h1>
                CBO Database Administration
            </h1>
        </div>
        <div class="navigation">
            <p>
                <a href="index.html">Home |</a>
                <a href="request.html">Make a request |</a>
                <a href="users.html"> Users |</a>
                <a href="Env.html"> Environments|</a>
                <a href="log.html"> Log</a>
            </p>
        </div>
        <div class="subheading">
            <h2>
                Make a request
            </h2>
        </div>
                <div class="formbox">
            <form action="request.js">
                <div class="formbox1">
                    <p>Request Details</p>
                    <p>
                        <label>Choose an Environment: </label>                    
                        <select name="envList" id="env">
                            <option>Env1</option>
                            <option>Env2</option>
                            <option>Env3</option>
                            <option>Env4</option>
                        </select>
                        <label>Not before:</label>   
                        <input type="date" id="nbdate" name="nbdate"/>
                    </p>
                    <p>
                        <label>Reason </label>                    
                        <textarea name="reason" rows="4" cols="40"></textarea>
                    </p>
                    <input type="submit" value="Send Request" name="submitlogin" onclick="request()"/>
                </div>
              </form>
                </div>

    </body>
</html>

------------------------------
Код Js

function request()
{
  var env = document.getElementById('env').value;
  var nbdate = document.getElementById('nbdate').value;
  alert(env + ":" + nbdate);
} 


Что я уже пробовал:

Я пробовал различные поисковые запросы google, но не могу найти соответствующий ответ.

1 Ответов

Рейтинг:
12

F-ES Sitecore

Это потому, что у вас есть форма с файлом js в качестве действия, после выполнения события click форма отправляется в этот файл, чтобы вы видели его на экране. Если вам не нужна форма, то просто удалите тег формы. Если вам нужна форма и позже она будет иметь правильное действие то сделайте так чтобы ваша функция запроса возвращала false;

function request()
{
  var env = document.getElementById('env').value;
  var nbdate = document.getElementById('nbdate').value;
  alert(env + ":" + nbdate);
  return false;
} 


и обновите html-код;

<input type="submit" value="Send Request" name="submitlogin" onclick="return request();"/>


Я добавил "return" к атрибуту onclick.


Member 14788607

Отлично, спасибо за быстрый ответ