我需要检查输入元素的值(由用户输入框中)是否从
返回$("#emailInput").css("value")
包含某个字符串。
我尝试过在google上看到的各种方法,但都没有。
HTML:
<form class="form-horizontal" role="form">
<div id="emailBorder">
<label id="emailStyle">Email address:</label>
<div id="emailInputStyle">
<input class="form-control" id="emailInput" type="text">
<span id="emailGlyphicon"></span>
</div>
</div>
<div class="form-group">
<label id="contentStyle">Content:</label>
<div id="contentInputStyle">
<textarea class="form-control" rows="5" id="contentInput"></textarea>
</div>
</div>
<button type="submit" id="sendStyle" class="btn btn-default">Send</button>
</form>
Javascript(我的尝试):
$("#emailInput").change(function () {
if ($("#emailInput").css("value").contains("@") && $("#emailInput").css("value").contains(".")) {
// do something
} else {
// do something else
}
});
答案 0 :(得分:1)
而不是css()
,请使用val()
。另外,代替contains()
使用indexOf()
,因为contains()
适用于jQuery DOM对象,而不是字符串
$("#emailInput").change(function() {
if ($("#emailInput").val().indexOf("@") > -1 && $("#emailInput").val().indexOf(".") > -1) {
console.log('It contains @ and .');
} else {
// do something else
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form class="form-horizontal" role="form">
<div id="emailBorder">
<label id="emailStyle">Email address:</label>
<div id="emailInputStyle">
<input class="form-control" id="emailInput" type="text">
<span id="emailGlyphicon"></span>
</div>
</div>
<div class="form-group">
<label id="contentStyle">Content:</label>
<div id="contentInputStyle">
<textarea class="form-control" rows="5" id="contentInput"></textarea>
</div>
</div>
<button type="submit" id="sendStyle" class="btn btn-default">Send</button>
</form>
&#13;
答案 1 :(得分:1)
你可以试试这个:
$("#emailInput").change(function () {
if ($this.contains("@") && $this.contains(".")) {
// do something
} else {
// do something else
}
});