0

入力にテキストを入力するかどうかに関係なく、ダイアログ ボックスが開きます。値が見つからない場合にのみ開く必要があります: 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>
4

2 に答える 2

1

関数の本体の最初の行で常にダイアログを開いているようです。

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

入力の値に関係なく。

その行を削除してみてください。

于 2012-07-18T05:01:29.870 に答える
0

状況によっては、コードで ui-dialog を 2 回呼び出すべきではありません。

これを試して..

<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>
于 2012-07-18T05:25:28.573 に答える