Javascript 如何停止调用服务器端事件
我已经做了一个方法,为用户反馈添加一个图像到页面。我自己也尝试过这个方法,现在想反复使用它,这样它就能与网站上的验证相匹配Javascript 如何停止调用服务器端事件,javascript,Javascript,我已经做了一个方法,为用户反馈添加一个图像到页面。我自己也尝试过这个方法,现在想反复使用它,这样它就能与网站上的验证相匹配 function ValidateFields(div, imgDiv) { var validPass = true; var elem = document.getElementById(div).value; if (elem == "") { var img = document.createElement("img"); img.src = "/
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()
中多次使用该方法,但它显示了符号,然后继续运行服务器端方法。
这是我的按钮单击:
<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()
我不知道为什么它不起作用。但是当您传入原始值并调用按钮上的方法时,单击错误的方式应该是:
function ValidatePdf() {
if (!ValidateFields('txt_pdf_title', 'imgPdfError')) {
// alert('not valid');
}
}
错误的方式,应该是:
function ValidatePdf() {
if (!ValidateFields('txt_pdf_title', 'imgPdfError')) {
// alert('not valid');
}
}
错误的方式,应该是:
function ValidatePdf() {
if (!ValidateFields('txt_pdf_title', 'imgPdfError')) {
// alert('not valid');
}
}
错误的方式,应该是:
function ValidatePdf() {
if (!ValidateFields('txt_pdf_title', 'imgPdfError')) {
// alert('not valid');
}
}
只需返回ValidateFields的结果即可:
function ValidatePdf() {
return ValidateFields('txt_pdf_title', 'imgPdfError');
}
您还可以将onclick
更改为:
onclick="return ValidatePdf();"
因此它返回
ValidatePdf
的结果,现在是ValidateFields
的结果,只需返回ValidateFields
的结果即可:
function ValidatePdf() {
return ValidateFields('txt_pdf_title', 'imgPdfError');
}
您还可以将onclick
更改为:
onclick="return ValidatePdf();"
因此它返回
ValidatePdf
的结果,现在是ValidateFields
的结果,只需返回ValidateFields
的结果即可:
function ValidatePdf() {
return ValidateFields('txt_pdf_title', 'imgPdfError');
}
您还可以将onclick
更改为:
onclick="return ValidatePdf();"
因此它返回
ValidatePdf
的结果,现在是ValidateFields
的结果,只需返回ValidateFields
的结果即可:
function ValidatePdf() {
return ValidateFields('txt_pdf_title', 'imgPdfError');
}
您还可以将onclick
更改为:
onclick="return ValidatePdf();"
因此,它返回
ValidatePdf
的结果,该结果现在是ValidateFields
的结果。对于多重验证,您只需添加另一个布尔值:
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() {
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() {
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() {
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);
}
或
为什么要调用没有参数的
ValidateFields()
?另外,var elem=document.getElementById(div.value)如果元素不存在,则代码>有问题。您是否检查了控制台中的错误?您使用的是哪种服务器端技术?为什么要调用ValidateFields()
而不使用参数?另外,var elem=document.getElementById(div.value)如果元素不存在,则代码>有问题。您是否检查了控制台中的错误?您使用的是哪种服务器端技术?为什么要调用ValidateFields()
而不使用参数?另外,var elem=document.getElementById(div.value)如果元素不存在,则代码>有问题。您是否检查了控制台中的错误?您使用的是哪种服务器端技术?为什么要调用ValidateFields()
而不使用参数?另外,var elem=document.getElementById(div.value)如果元素不存在,则代码>有问题。你有没有检查你的控制台有没有错误?你使用的是哪种服务器端技术?用一个更高效的解决方案和额外的帮助,只需几秒钟就可以打败我+1.我认为这不是正确的答案:OP想要验证多个字段,使用此代码是不可能的。如果OP想要验证多个字段,那么OP应该在ValidateFields
方法中进行验证。这个解决方案回答了为什么他的onclick
无法阻止对OP服务器端函数的调用的问题。此外,OP还没有发布任何要验证的实际字段,所以你对需要验证的字段的猜测和我的一样好。我只是想理解OP所说的“很多次”是什么意思。没必要生气。验证更多的空字段只需几秒钟,就可以用更有效的解决方案和额外的帮助吃掉我+1.我认为这不是正确的答案:OP想要验证多个字段,使用此代码是不可能的。如果OP想要验证多个字段,那么OP应该在ValidateFields
方法中进行验证。这个解决方案回答了为什么他的onclick
无法阻止对OP服务器端函数的调用的问题。此外,OP还没有发布任何要验证的实际字段,所以你对需要验证的字段的猜测和我的一样好。我只是想理解OP所说的“很多次”是什么意思。没必要生气。验证更多的空字段只需几秒钟,就可以用更有效的解决方案和额外的帮助吃掉我+1.我认为这不是正确的答案:OP想要验证多个字段,使用此代码是不可能的。如果OP想要验证多个字段,那么OP应该在ValidateFields
方法中进行验证。这个解决方案回答了为什么他的onclick
无法阻止对OP服务器端函数的调用的问题。此外,OP还没有发布任何要验证的实际字段,所以你对需要验证的字段的猜测和我的一样好。我只是想理解OP所说的“很多次”是什么意思。没必要生气。验证更多的空字段只需几秒钟,就可以用更有效的解决方案和额外的帮助吃掉我+1.我认为这不是正确的答案:OP想要验证多个字段,使用此代码是不可能的。如果OP想要验证多个字段,那么OP应该在ValidateFields
方法中进行验证。这个解决方案回答了为什么他的onclick
无法阻止对OP服务器端函数的调用的问题。此外,OP还没有发布任何要验证的实际字段,所以你对需要验证的字段的猜测和我的一样好。我只是想理解OP所说的“很多次”是什么意思。不必生气。验证更多的空字段这将在每次调用时覆盖isValidate
的值