0

当条件为真时,我想在页面后面的代码上调用 jquery。

下面提到了我的 jquery,它包括一个数组和两个函数,即 hideAllmessage 和 showMessage。默认情况下,所有消息将被隐藏,如果满足任何条件,将显示成功、错误、信息、警告消息。它是我搜索并想要实现的插件。我的代码如下所述:

查询功能

var myMessages = ['info', 'warning', 'error', 'success']; // define the messages types         
function hideAllMessages() {
    var messagesHeights = new Array(); // this array will store height for each

    for (i = 0; i < myMessages.length; i++) {
        messagesHeights[i] = $('.' + myMessages[i]).outerHeight();
        $('.' + myMessages[i]).css('margin-top', -messagesHeights[i]); //move element outside viewport      
    }
}

function showMessage(type) {
    $('.' + type + '-trigger').click(function () {
        hideAllMessages();
        $('.' + type).animate({ marginTop: "0" }, 500);
    });
}

$(document).ready(function () {

    // Initially, hide them all
    hideAllMessages();

    // Show message
    for (var i = 0; i < myMessages.length; i++) {
        showMessage(myMessages[i]);
    }

    // When message is clicked, hide it
    $('.message').click(function () {
        $(this).animate({ marginTop: -$(this).outerHeight() }, 500);
    });
});

代码背后

ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>showMessage('error')</Script>");
4

2 回答 2

0

您只能像以前一样在后面的代码中注册您的 javascript。您不能从后面的代码中调用创建的脚本,因为它是在javascript之前执行的。目前只有两种选择。

  1. 在服务器端使用 nodejs
  2. 在加载 javascript 时和之后使用 ajax 请求执行您需要的任何操作。
于 2013-05-27T19:07:28.620 回答
0

尝试这个

<input id="textbox1" onblur="test()" />
function test(){
 if ( $('#textbox1').val().length == 1) {  showMessage('error'); }
}

但你应该更多地挖掘这件事。跟随别人的代码是不够的

于 2013-05-28T15:48:26.433 回答