0

在我的页面中,我需要填写三个字段。如果填写了它们,则会打开一个小弹出窗口进行注册。但是,现在我在 JavaScript 中有它。如果一个或多个字段没有填写,它会依次给出一个消息。比如1、2、3字段不填,会在消息框里提示,请填写字段1,第二次弹出请填写2字段,请填写3字段。并且在它打开注册弹窗后立即弹出。我想防止这种情况发生,除非所有字段都已填写。它不应该在未完成字段的情况下打开弹出窗口。

这是代码:

 <script type="text/javascript" id ="popup">

$(document).ready(function() {


$("#lightboxRegister").colorbox({inline:true, width:"50%"});

    $("#lightboxRegister").click(function() {
        if(document.getElementById("title-vis").value ==""){
            alert("You need to enter a book title.");
            self.close();
        }
        if(document.getElementById("abstract-vis").value ==""){
            alert("You need to enter a book abstract.");
            self.close();
        }
        if(document.getElementById("writtenby-vis").value ==""){
            alert("You need to enter a pen name.");
            self.close();
        }

        document.getElementById("title").value = document.getElementById("title-vis").value;
        document.getElementById("abstract").value = document.getElementById("abstract-vis").value;
        document.getElementById("writtenby").value = document.getElementById("writtenby-vis").value;

    });


  });
</script>

我无法弹出这个

$("#lightboxRegister").colorbox({inline:true, width:"50%"});

在 click 函数中工作:

 $("#lightboxRegister").click(function()

我在关闭第三个文件的消息后立即尝试输入:

$(this).colorbox({inline:true, width:"50%"});

但我收到以下错误:

未捕获的类型错误:对象 # 没有方法 'colorbox'

有关如何解决此问题的任何帮助?

4

2 回答 2

1
<div style="display:none;">
    <div id="lightboxRegister"> REGISTER FORM </div>
</div>

<input type="button" id="btn" value="open inline?" />

这是jquery代码:

$('#btn').click(function(){
    $.colorbox({inline:true, width:"50%", href: '#lightboxRegister'});
});

演示:jsfiddle.net/9QkmH/

于 2012-09-20T14:22:50.037 回答
0

按需打开彩盒只需使用这个:

$.colorbox({...});

例如:

$('.myButton').click(function() {
  alert('ok, lets open colorbox now!');
  $.colorbox({href: 'myUrl.html', width: 500});
});
于 2012-09-20T14:24:24.503 回答