编辑后在我要定位的页面上包含HTML元素...
我正在尝试定位页面上具有data-id
标签(在代码示例中为FORENAME
)的输入字段的内容。
如果我在代码中放入了固定的字符串变量(即设置var fieldValue = "dave"
,它可以按预期工作-我只是很难将内容添加到变量中。
谢谢。
<div >
<input aria-labelledby="TribalTech_EBS_Agent5_Models_Page_Controls_StaticTextModel_1100013026_DISP_FIRST_NAME " class="Primary form-control" data-id="FORENAME" data-val="true" data-val-length="First Name - The field value must be a string with a maximum length of 50" data-val-length-max="50" data-val-required="First Name - A value is required" id="DataModel_DataLinks_Dummy__Data_0__Items_FORENAME__Value" name="DataModel.DataLinks[Dummy].Data[0].Items[FORENAME].Value" tabindex="0" type="text" value="" />
<input id="DataModel_DataLinks_Dummy__Data_0__Items_FORENAME__OriginalItem_Value" name="DataModel.DataLinks[Dummy].Data[0].Items[FORENAME].OriginalItem.Value" type="hidden" value="" />
</div>
$(document).ready(function() {
$('[data-id=FORENAME]').change(function() {
validateStuff();
});
});
function validateStuff() {
var fieldValue = $('[data-id="FORENAME"]').attr("content"); // this is the issue
if (fieldValue == "") {
alert("You must enter a value");
} else {
if (fieldValue == "brian" || fieldValue == "simon") {
alert("Hooray! Valid entry in field");
} else {
alert("This is invalid input");
}
}
}
答案 0 :(得分:0)
[data-id=FORENAME]
此处缺少引号。另外,您应该改用$('[data-id="FORENAME"]').val()
:
(function() {
"use strict";
$(document).ready(function() {
$('[data-id="FORENAME"]').change(function() {
validateStuff();
});
});
function validateStuff() {
var fieldValue = $('[data-id="FORENAME"]').val();
console.log(fieldValue);
if (fieldValue == "") {
alert("You must enter a value");
} else {
if (fieldValue == "brian" || fieldValue == "simon") {
alert("Hooray! Valid entry in field");
} else {
alert("This is invalid input");
}
}
}
})();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input data-id="FORENAME">