2017-05-25 22 views
-1

我有一個表單,我想隱藏提交按鈕,除非輸入被聚焦/選擇。如何隱藏表單提交按鈕,除非輸入焦點(香草JS)

除提交之外,只有一個輸入。

我需要這樣做使用純JS(或者CSS /薩斯),的jQuery等

基本例如:

<form> 
    <input type="text" placeholder="Example field"> 
    <input type="submit value="Submit"> 
</form> 
+0

你嘗試過什麼? – Pogrindis

+0

我只試過用CSS做。我會知道如何用jQuery做到這一點,但不知道這個項目需要的純JS。 – Matt

+0

....爲什麼不能找出香草JS的作用? jQuery使用香草JS .. – Pogrindis

回答

0

這裏是純CSS的解決方案;

.showonfocus{ 
 
    display:none; 
 
} 
 
.inputfield:focus + .showonfocus{ 
 
    display:inline; 
 
}
<form> 
 
    <input type="text" placeholder="Example field" class="inputfield"> 
 
    <input type="submit" value="Submit" class="showonfocus"> 
 
</form>

+0

謝謝,這是我用過的 - 我不確定這種事情是否可能! – Matt

0

您可以使用onbluronfocus事件操縱你的html元素。你可以嘗試像,

HTML

<form> 
    <input type="text" placeholder="Example field" onblur="setVisible('hidden');" onfocus="setVisible('visible');"> 
    <input id="submit" type="submit" value="Submit" style="visibility:hidden"> 
</form> 

Javscript

function setVisible(state) { 
    document.getElementById("submit").style.visibility = state; 
} 

這裏的工作演示:https://jsfiddle.net/qbotxpL6/

希望這有助於!

+0

你的更漂亮 – Pogrindis

+0

我不是OP ..爲什麼這是downvoted? – Pogrindis

+1

是的..這就是我想知道.. ** Downvoter ..請陳述理由** –

1

首先得到引用你的對象,所以改變例如HTML:

<form> 
    <input id="input_1" type="text" placeholder="Example field"> 
    <input id="submit" type="submit" value="Submit" /> 
</form> 

有了一些CSS,我們將隱藏在默認情況下提交:

#submit{ 
    display:none; 
} 

我們已經添加標識的,現在我們添加事件偵聽器,以便專注於輸入..

document.getElementById("input_1").addEventListener('focus', function(){ 
    document.getElementById("submit").style.display = 'block'; 
} 
, true); 

第二個參數添加到eventListener中當事件被觸發執行..

你需要做更多這方面的工作..

https://jsfiddle.net/7uzkzr67/

+0

感謝您的答案。使用下面的CSS解決方案,但感謝您的幫助! – Matt