我已经提出了一种在页面上添加图像以供用户反馈的方法。我已经尝试过该方法,现在想一遍又一遍地使用它,以便它与站点上的验证匹配。

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()
我不知道为什么它不起作用。但是当您传递原始值并在按钮上单击按钮时调用方法

最佳答案

只需返回ValidateFields的结果:

function ValidatePdf() {
    return ValidateFields('txt_pdf_title', 'imgPdfError');
}


您也可以将onclick更改为:

onclick="return ValidatePdf();"


以便它返回ValidatePdf的结果,现在是ValidateFields的结果。

关于javascript - 如何停止调用服务器端事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26931694/

10-12 06:45