当您在输入中输入文本或不打开对话框时。只有在没有找到值时才会打开:fiddle = http://jsfiddle.net/tzxS2/
code / 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>
答案 0 :(得分:1)
在我看来,你总是用函数体的第一行打开对话框:
$( "#dialog" ).dialog(); // Shows the new alert box.
无论输入的值如何。
尝试删除该行。
答案 1 :(得分: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>
答案 2 :(得分: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>