0
我在頁面中有兩種相同的類。這些形式與相同的元素完全相同。提交其中的一個,我嘗試訪問裏面的元素。這裏是什麼形式的樣子:此查找標籤的表單不起作用
<form role="form" class="login-form" id="login-form">
{% csrf_token %}
<div class="form-group">
<div class="input-icon">
<i class="icon fa fa-user"></i>
<input type="text" class="form-control" name="email" placeholder="Username" id="email">
</div>
</div>
<div class="form-group">
<div class="input-icon">
<i class="icon fa fa-unlock-alt"></i>
<input type="password" class="form-control" placeholder="Password" name="password" id="password">
</div>
</div>
<div>
<!--input type="checkbox" id="remember" name="rememberme" value="forever" style="float: left;"-->
<label style="display: none; color: red;" id="incorrect_info">Veuillez vérifier vos informations</label>
</div>
<button class="btn btn-common log-btn">Se connecter</button>
</form>
現在的JavaScript,我嘗試訪問的元素:
$('.login-form').submit(function(e){
e.preventDefault();
// Get information
email = $(this).find('input[id="email"]').val();
pass = $(this).find('input[id="password"]').val();
$(this).find('label[id="incorrect_info"]').css('display','block');
});
此代碼工作的投入,而不是標籤,未發現。
編輯:
對不起這裏的代碼實際上的樣子。該查找是在ajax中完成的。
$('.login-form').submit(function(e){
e.preventDefault();
// Get information
email = $(this).find('input[id="email"]').val();
pass = $(this).find('input[id="password"]').val();
$.ajax({
.......
}).done(function (data) {
if (data.success) {
window.location.href = data.url;
}
else {
$(this).find('label[id="incorrect_info"]').css('display','block');
}
});
});
https://jsfiddle.net/gtbgrmb4/ 它的工作原理,爲什麼不呢? – Oleksandr
你的代碼似乎可以單獨運行:https://jsfiddle.net/f6dgk2kw/。你能否提供一個問題的工作示例。還要注意,你的代碼意味着你正在使用重複的'id'屬性,這是無效的 - 並且會解釋你使用屬性選擇器來通過它們的id來查找元素。使用類代替 –
是否有一個特定的原因不使用相同的類而不是使用相同的ID?請參閱:[鏈接](http://stackoverflow.com/a/5611975/2271768) – Kartal