2014-11-02 3 views
0

На странице like this, какой код я мог бы написать, чтобы страница не отправляла запрос GET (или POST-запрос)?Извлечь значение из поля пароля

Страница:

<body> 
    <p>Let's do the login thing 
     <br> 
    </p> 
    <form id="keyform"> 
     <table> 
      <tr> 
       <td> 
        <div class="midform"> 
         <input type="text" id="id" placeholder="ID"> 
         <br> 
         <input type="password" id="key" placeholder="Password"> 
        </div> 
       </td> 
       <td> 
        <div class="submitform"> 
         <input type="submit" id="submit" value="Log in"> 
        </div> 
       </td> 
      </tr> 
     </table> 
    </form> 
    <div id="output"></div> 
</body> 

Код:

d3.select("#keyform").on("submit", function() { 
    console.log(d3.select('#key').property("value")); 
    return false; 
}); 

Я намерен захватить значение пароля по представить, запустить его через md5 и отправить его на сервер для сравнения с хэш в базы данных. Но нажатие «отправить» заставляет страницу отправлять GET, что нежелательно.

+0

Задайте метод формы для 'post' –

+0

Измените входные данные из submit на текст и просто обработайте его самостоятельно. – Craicerjack

+0

@ ŁukaszTrzewik, который не будет работать, потому что мне нужно md5 его ** перед ** POSTing. – Sky

ответ

0

Добавить тег скрипт и написать функцию, чтобы изменить значение пароля, как это ...

<script> 
function encrypt(){ 

    var pwd = document.getElementById('password').value; 
    // do md5 on pwd and store it back to pwd. 
    document.getElementById('password').value = pwd; 

    //false to prevent submit, or replace true if you need the form to be submitted after executing the above code inside the function (updating the password field). 
    return false; 
} 
</script> 

и вызвать функцию на представить в виде в виде тега, как это.

<form id="keyform" onsubmit='return encrypt()'> 
0

Для начала я попытался сделать вид не представить, изменив идентификатор и тип баттона быть «вход» и «кнопку», соответственно, и связывая onSubmit() с OnClick. Но это сделало событие не огнем вообще, то есть у меня не было никакого способа получить доступ к значениям текстового поля.

Тогда я попробовал удалить форму, то есть у меня было два входа и кнопка, плавающая вокруг. На этот раз, onClick сделал пожара, и я смог прочитать значения ID и пароль. Я выдвигаю гипотезу о том, что блокирует данные, чтобы к ним не удалось получить доступ до отправки.

Я также подозреваю, что удаление формы означает, что у меня больше нет встроенной защиты паролей, так как я могу программно перехватить значение текстового поля.

Смежные вопросы