2014-10-11 73 views
0

我想创建一个弹出窗体,当用户想要上传图像时。我使用一些简单的JS获得了在页面上打开的表单,但由于某种原因它打开并立即关闭。我正在按照我通过按钮访问它的方式思考它。CodeIgniter - JS弹出窗体打开然后关闭

按钮:

<div class="upload"> 
    <?php 
      $data = array('onsubmit' => "login('show')"); 
      echo form_open('',$data); 
      echo form_submit('follow', 'Follow'); 
      echo form_close(); 
    ?> 
</div> 

userprofile.js:

function login(showhide) 
{ 
    if(showhide == "show") 
    { 
     document.getElementById('popupbox').style.visibility="visible"; 
    } 
    else if(showhide == "hide") 
    { 
     document.getElementById('popupbox').style.visibility="hidden"; 
    } 
} 

可能有人请帮助我在这里?

+1

你确定你的形式不只是提交和refres兴奋的页面?毕竟,这是在提交。 – brian 2014-10-11 04:29:01

+0

林不知道,那会发生在哪里?我怎样才能修复它 – Divergent 2014-10-11 05:40:14

回答

0

如果你有jQuery包括,那么我会建议使用http://api.jquery.com/toggle/来隐藏和显示你的元素。

function login() 
{ 
    jQuery('#popupbox').toggle(); 
} 

更新:

HTML代码:

<div class="upload"> 
    <?php 
      $data = array('id' => "form_holder"); 
      echo form_open('',$data); 
      echo form_submit('follow', 'Follow'); 
      echo form_close(); 
    ?> 
</div> 

JS代码:

$(document).ready(function() { 
    $("#form_holder").submit(function(event) { 
     event.preventDefault(); 
     jQuery('#popupbox').toggle(); 
    }); 
}); 
+0

那不回答我的问题 – Divergent 2014-10-11 05:39:44

+0

@Divergent,我明白,但这是改进你的代码的一个小技巧,作为一个答案,它看起来像你提交表单时提交的表单。我将在上面的例子中更新代码。 – 2014-10-11 05:41:20

+0

我没看到如何解决我的问题?我实现了它,它没有做任何事情,它实际上完全停止了显示表单 – Divergent 2014-10-11 17:14:44

相关问题