2015-11-07 52 views
0

我正在研究一個原型,我想在提交後觸發一個動作,但只有在填寫必填字段時纔會觸發動作。需要HTML5的屬性觸發jQuery的動作

我有這樣的代碼

<button type="submit" onclick="doSomething()" class="btn btn-primary">Register</button> 

而且還輸入使用「必要」的屬性從HTML 5的窗體上,這樣

<input type="text" class="form-control" placeholder="Name" required> 

我想只有到的onclick觸發動作輸入被填充。 我想我可以通過檢查輸入被使用jQuery充滿做到這一點,我想知道是否有更簡單的方法

+0

是個'input'元素的最小長度要求是多少? – guest271314

+0

不是,它只是需要填充 –

回答

1

嗯,其實我已經發現一個解決方案,如果有人正在經歷同樣的問題,這是我如何做到的。

而不是使用「點擊」按鈕標籤上的我增加了一個「的onsubmit」(我根本不知道這存在),我的表單標籤內的事件與我DoSomething的功能,如:

<form onsubmit="doSomething()"> 

功能只有在所需要的輸入被填充時纔會被調用,這很容易。

感謝誰試圖幫助反正

+0

如果在解決問題後解決問題,可以「接受」自己的答案,參見http:// stackoverflow。com/help/self-answer – guest271314

0

嘗試使用oninput事件

function doSomething() { 
 
    console.log("do stuff") 
 
} 
 

 
document.querySelector("input").oninput = function() { 
 
    this.nextElementSibling.click() 
 
}
<input type="text" class="form-control" placeholder="Name" required> 
 
<button type="submit" onclick="doSomething()" class="btn btn-primary">Register</button>

+0

它不起作用。即使未填寫所需的輸入,也會觸發「doSomething」功能。我實際上剛剛找到了一個解決方案,現在我將發佈 –

+0

@PedroBernardo _「它不起作用,即使未填寫所需的輸入,也會觸發」doSomething「功能。」_爲什麼詢問是否需要長度'input'元素。如果沒有需要的長度,即使輸入是空格字符'「」',預計'doSomething'也會被調用。請參閱_註釋_「不是真的,它只是需要填充」_ – guest271314

+0

但在您的回答中,doSomething功能即使沒有空格字符也會觸發。 –

0

那麼你可以隨時使用這個https://jsfiddle.net/2Lzo9vfc/26/

HTML

<button type="submit" class="btn btn-primary">Register</button> 
<input type="text" class="form-control" placeholder="Name" required> 

JS的那些

$('button').click(function() { 
    var content = $('input').val(); 

    if(content != '') { 
    alert(content); 
    } 
}); 
+0

是的,先生,這肯定會解決它,但正如我對我的問題所說:「我想我可以通過檢查輸入是否使用jQuery來填充,我想知道是否有更簡單的方法」。實際上,我發現我更簡單一些,正如我的答案顯示的那樣。不管怎麼說,還是要謝謝你 –