2012-07-18 83 views
0

当你输入文本或不输入对话框时,打开对话框。如果没有价值发现只能打开:小提琴= http://jsfiddle.net/tzxS2/jquery ui对话框总是返回false

码/ CSS/JS:似乎没有在窗体的工作:

<form id="dacform" method='get' action='dac' onsubmit="return check_domain_input()" accept-charset='utf-8'> 
    <input name='domain' type="text" style="font-size:15px;" class="searchbox"/> 
    <select style="background:#f8f8f8; margin-left:4px; font-size:15px;" class="selectlist slight" id="selectdomain" name="tld"> 
     <option value=''>(all)</option> 
     <option value="co.uk">co.uk</option> 
     <option value="me.uk">me.uk</option> 
     <option value="org.uk">org.uk</option> 
     <option value="com">com</option> 
    </select> 
    <input onclick="check_domain_input()" class="btn grey bbig" name="search" type="submit" value="Search" style="width:59px; margin-left:7px; font-size:15px;" /> 
    </form><br /> 
    Our domain registration system is highly automated so we register your domain names fast and secure. 

    <div id="dialog" title="Attention!" style="display:none"> 
    Please enter a domain name to search for. 
    </div> 
<div onclick="check_domain_input()">Click</div> 

<div id="dialog" title="Attention!" style="display:none"> 
    Please enter a domain name to search for. 
</div> 

<script> 
    function check_domain_input() 
    {   
     $("#dialog").dialog(); // Shows the new alert box. 

     var domain_val = document.getElementsByName('domain'); 

     if (domain_val[0].value.length > 0) 
     { 
      return true; 
     } 

     $("#dialog").dialog(); 

     return false; 
    } 
</script> 

回答

1

在我看来,你是始终在打开对话框,您的功能正文的第一行:

$("#dialog").dialog(); // Shows the new alert box. 

不管输入的值如何。

尝试删除该行。

+0

耶曾在拨弄但活着不是??? – david 2012-07-18 05:12:11

+0

删除该行后,您得到的确切行为是什么? – 2012-07-18 20:14:32

0

试试这个,

<link rel="stylesheet" href="http://code.jquery.com/ui/1.8.21/themes/base/jquery-ui.css" type="text/css" media="all" /> 


<input type='text' name='domain'> 
<div onclick="check_domain_input()">Click</div> 

<div id="dialog" title="Attention!" style="display:none"> 
    Please enter a domain name to search for. 
</div> 

<script> 
    function check_domain_input() 
    {  

     var domain_val = document.getElementsByName('domain'); 

     if (domain_val[0].value.length > 0) 
     { 
      return true; 
     } 

     $("#dialog").dialog(); // Shows the new alert box. 
     return false; 
    } 
</script> 
+0

它只是懒惰不添加“其他”或不重要吗? – david 2012-07-18 05:31:23

+0

使用else是一个好习惯,但是在这里我们可以节省带宽:D – Matt 2012-07-18 05:42:43

0

根据你的情况,你不应该在两次代码中调用你的UI的对话框。

试试这个..

<script> 
function check_domain_input() 
{   
var domain_val = document.getElementsByName('domain'); 

if (domain_val[0].value.length > 0) 
    { 
    return true; 
    } 

else 
    { 
    $("#dialog").dialog(); 
    return false; 
    } 
} 
</script> 
+0

小提琴更新仍然不起作用http://jsfiddle.net/tzxS2/ – david 2012-07-18 05:38:27

+0

不得不打电话域!总是最小的东西 – david 2012-07-18 05:45:25

+0

我曾试图在小提琴上,它工作正常。 – Rohit416 2012-07-18 12:01:28