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和密码的值。我假设锁定数据以便在提交之前无法访问。

我还怀疑去除形式意味着我不再有任何内置的保护密码,因为我可以通过编程拦截文本字段的值。