如何使用infragistics控件在客户端验证期间阻止表单提交?

时间:2014-05-28 14:02:47

标签: javascript submit client-side infragistics

我有infragistics webimagebutton clientside click event

<igtxt:webimagebutton id="btnOwnerSave" runat="server" cssclass="bodytext" text="Save"
     usebrowserdefaults="False">
      <clientsideevents click="confirm_ssn"></clientsideevents>
</igtxt:webimagebutton>

我有一个处理该事件的函数。此功能显示confirmation dialog。 现在,当我点击&#34; CANCEL&#34;按钮,postback发生。我不希望执行回到服务器。我只需要在用户点击&#34;取消&#34;时立即停止,就像可以使用常规javascript: return functionName()

一样

这是我的功能:

function confirm_ssn()
{
    var butPress;
    var strMessage;

    strMessage = "";
    if (ss# is not valid)
    {
        strMessage = "There is a SSN starting with 9 \nClick OK to proceed, click Cancel to make change ";
        butPress = confirm(strMessage); 
        if (butPress)
        {
           do something;
        }
         else 
        {
           stop submitting the form;
           return;
        }
    }

    confirm_own_percentage();
    return;
}


function confirm_own_percentage()
{
    var percentageOwned = 0;
    var ownerper = document.getElementById("txtOwnerPercentageOwned").value;
    var secondownerper = document.getElementById("txtSecondOwnerPercentageOwned").value;
    var butPress;
    var strMessage; 

    if(!isNaN(ownerper))
    {
        percentageOwned = percentageOwned + parseInt(ownerper);
        if(!isNaN(secondownerper))
        {
            percentageOwned = percentageOwned + parseInt(secondownerper);
        }
    }

    if(percentageOwned < 50)
    {
        strMessage = "The % Equity Ownership is not equal or greater than 50%\nClick OK to proceed, click cancel to make change "
        butPress = confirm(strMessage); 
        if (butPress)
        {
          do something;
        }
        else 
        {
          stop submitting the form;
        }           
    }       
}

可以做些什么来实现这一目标?

感谢&#39; S

1 个答案:

答案 0 :(得分:1)

我找到了这个问题的答案。这将有助于将来的人。

基本上,当使用Infragistics&#39; clientsideevent时,此事件会接收对其使用的对象的引用以及要触发的事件,例如,在我的情况下,我只是需要在我的参数列表中添加这些引用:

function confirm_ssn(oButton, oEvent)

然后,为了防止表单提交,我需要在点击&#34; CANCEL&#34;时使用oEvent.cancel = true。确认对话框上的按钮。

这样就可以了。

希望它会帮助某人