2017-08-05 122 views
0

我目前有一個登錄按鈕,onclick,顯示一個加載圖標2秒,然後顯示一個隱藏的div,隱藏的div也是表單的一部分,幷包含一個最終提交按鈕,實際提交表單。登錄按鈕只顯示隱藏的div。我希望能夠在按下按鈕的表單的密碼部分按Enter鍵,然後觸發此功能,如下所示。如何在不提交表單的情況下按Enter鍵單擊按鈕

function showDiv() { 
document.getElementById('SteamLogin').style.display = "none"; 
document.getElementById('loadingGif').style.display = "block"; 
setTimeout(function() { 
document.getElementById('loadingGif').style.display = "none"; 
document.getElementById('showme').style.display = "block"; 
},2000); 
} 

我的表單的用戶名和密碼輸入允許我按回車,但它提交表單,我不想要。我想要輸入鍵只需按登錄按鈕,顯示隱藏的div。就這樣。

<input class="btn_green_white_innerfade btn_medium" type="button" 
name="submit" id="userLogin" value="Sign in" width="104" height="25" 
border="0" tabindex="5" onclick="showDiv();"> 

任何幫助將不勝感激

回答

0

的典型方法是聽submit甚至形式。

$('form').on('submit', function(e) { 
    e.preventDefault(); 
    // If '#userLogin' is the submit button for the form, just move the 
    // code for the `$('#userLogin').click()` event handler in here. 
    showDiv(); 
}); 
+0

userLo杜松子酒是顯示隱藏的div的按鈕 –

0

你的意思是在輸入標籤上按住enter鍵,然後只顯示隱藏的div嗎?

$('form input').keypress(function (e) { 
    var key = e.which; //e.which is the code of press 
    if (key == 13) { // 13 means enter 
    alert("enter!"); 
    //do someting.... 
    e.preventDefault(); //prevent the default handler 
    e.stopPropagation() //stop propagation of the event 
    } 
}); 

如果你還沒有聽的進入新聞界,不知是不是瀏覽器的默認處理程序
嘗試使用onkeydown="if(event.keyCode==13)return false;"
此ATTR添加到您的形式是這樣的:
<form onkeydown="if(event.keyCode==13)return false;">xxxxxxx</form>

我已經給你一個例子,return false採用默認處理程序:

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <meta name="Generator" content="EditPlus®"> 
    <meta name="Author" content=""> 
    <meta name="Keywords" content=""> 
    <meta name="Description" content=""> 
    <title>Document</title> 
</head> 
<body> 
    <form onkeydown="showDiv();return false"> 
    <input type="text" name="submit" id="userLogin" value="Sign in" width="104" height="25" > 
    <input type="password" name="submit" id="userLogin" value="Sign in" width="104" height="25" > 
    <input type="button" name="submit" id="userLogin" value="Sign in" width="104" height="25" onclick="showDiv();"> 
    <input type="submit" name="submit" id="submit" value="Sign in" width="104" height="25" onclick="submit();"> 
    </form> 
</body> 
<script> 
    function showDiv() { 
     console.log('show'); 
    } 

    function submit() { 
     console.log('submit'); 
    } 
</script> 
</html> 
+0

YES與您所說的完全相同,當我使用此腳本按Enter時仍提交表格 –

+0

我已編輯答案,也許這將有所幫助 – Ryan

+0

我有一個窗體,裏面有兩個按鈕。第一個按鈕不提交任何內容。它只是顯示一個隱藏的div。當用戶在用戶名或密碼字段中時,我想進入只需單擊該按鈕即可? –

相關問題