2014-11-02 80 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

將表單方法設置爲'發佈' – 2014-11-02 09:21:13

+0

將輸入從提交更改爲文本並自行處理。 – Craicerjack 2014-11-02 09:25:25

+0

@ŁukaszTrzewik這是行不通的,因爲我需要** **之前爲MD5它張貼。 – Sky 2014-11-02 10:47:21

回答

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和密碼的值。我假設鎖定數據以便在提交之前無法訪問。

我還懷疑去除形式意味着我不再有任何內置的保護密碼,因爲我可以通過編程攔截文本字段的值。