我已将以下内容添加到我们的 SharePoint 在线网站页面(使用脚本编辑器 Web 部件):-
<div id= "s">
<form >
<b>Name</b><br>
<input type="text" id="NameDept" >
<br>
<b>Message</b><br>
<textarea rows="4" cols="50" id="Custommessage" required></textarea>
<br><br>
<input type="submit" value="Submit" id= "feedbackbutton">
</form>
</div>
<script>
$( "#feedbackbutton" ).click(function(e) {
e.preventDefault();
var namedept = document.getElementById("NameDept").value;
var Custommessage = document.getElementById("Custommessage").value;
var itemType = GetItemTypeForListName("mylist");
var item = {
"__metadata": { "type": itemType },
"Title": namedept ,
"CommentBoxComment": Custommessage
};
$.ajax({
//code goes here..
},
success: function (data) {
$( "#s" ).replaceWith( "<span style='color:green'> submitted...</span>" );
},
error: function (data) {
}
});
});
function GetItemTypeForListName(name) {
return "SP.Data." + name.charAt(0).toUpperCase() + name.split(" ").join("").slice(1) + "ListItem";
}
</script>
现在我正尝试在 <textarea>
上添加必需的验证..但现在不确定为什么要添加 required
属性不起作用?
<textarea rows="4" cols="50" id="Custommessage" required></textarea>
并且用户可以在离开 <textarea>
的同时提交表单空?
最佳答案
那个required
属性仅在 <form>.
的上下文中起作用
由于您是通过 JS 执行此操作,因此您需要手动进行验证。试试这个:
$( "#feedbackbutton" ).click(function(e) {
e.preventDefault();
var namedept = document.getElementById("NameDept").value;
var Custommessage = document.getElementById("Custommessage").value;
var itemType = GetItemTypeForListName("mylist");
var item = {
"__metadata": { "type": itemType },
"Title": namedept ,
"CommentBoxComment": Custommessage
};
if(Custommessage.trim() === ''){
alert("You must enter a comment to submit feedback");
return; //<--- This will prevent the ajax call if the Custommessage textarea is blank or only contains whitespace
}
$.ajax({
//code goes here..
},
success: function (data) {
$( "#s" ).replaceWith( "<span style='color:green'> submitted...</span>" );
},
error: function (data) {
}
});
});
关于javascript - 无法使用 CSS-Approach 或 JQuery-Apprach 将必需的验证添加到文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53011994/