我已经制作了一种向页面添加图像以供用户反馈的方法。我已经尝试了自己的方法,现在想一遍又一遍地使用它,所以它匹配网站上的验证。
function ValidateFields(div, imgDiv) {
var validPass = true;
var elem = document.getElementById(div).value;
if (elem == "") {
var img = document.createElement("img");
img.src = "/assets/img/errorIcon.png";
var src = document.getElementById(imgDiv);
src.appendChild(img);
validPass = false;
//document.getElementById('lbl_pdf_title').innerText = ("Please enter a title for the PDF");
}
return (validPass);
}
当我通过传递正确的值使用此方法时,它可以正常工作,但现在我想使用这样的方法:
function ValidatePdf() {
ValidateFields('txt_pdf_title', 'imgPdfError');
if (!ValidateFields()) {
// make it false
}
}
我想在ValidatePdf()
中多次使用该方法,但它显示符号然后继续运行serverside方法。
这是我的按钮点击:
<button id="btn_submit_pdf"
runat="server"
class="btn btn-default"
title="Submit PDF"
onclick="if (!ValidatePdf()) return false;"
onserverclick="btn_submit_pdf_Click">
Submit
</button>
我是否需要将另一个值传递给ValidateFields()
我不知道为什么它不起作用。但是当你传递原始值并按下按钮时调用方法
答案 0 :(得分:2)
对于多重验证,您只需添加另一个布尔值:
function ValidatePdf() {
var isValidate=true;
isValidate=isValidate && ValidateFields('txt_pdf_title', 'imgPdfError');
isValidate=isValidate && ValidateFields('txt_pdf_title1', 'imgPdfError1');
isValidate=isValidate && ValidateFields('txt_pdf_title2', 'imgPdfError2');
return(isValidate);
}
或者
function ValidatePdf() {
return(ValidateFields('txt_pdf_title', 'imgPdfError') && ValidateFields('txt_pdf_title1', 'imgPdfError1') && ValidateFields('txt_pdf_title2', 'imgPdfError2'));
}
答案 1 :(得分:1)
只需返回ValidateFields
的结果:
function ValidatePdf() {
return ValidateFields('txt_pdf_title', 'imgPdfError');
}
您也可以将onclick
更改为:
onclick="return ValidatePdf();"
以便返回ValidatePdf
的结果,现在是ValidateFields
的结果。
答案 2 :(得分:0)
错误的方式,应该是:
function ValidatePdf() {
if (!ValidateFields('txt_pdf_title', 'imgPdfError')) {
// alert('not valid');
}
}