【问题标题】:Javascript: Show element in a form when something is validJavascript:当某些东西有效时在表单中显示元素
【发布时间】:2011-12-05 01:00:23
【问题描述】:

验证表单中的内容后如何显示元素?

这是我的一些代码:

注册.php

<div  class="wrapper">
   <div class="error-div" id="zipcode-error" ></div>
   <label>Zip code:</label>
   <input type="text" class="input" name="zipcode" id="zipcode" />
</div>

 <!-- this div is hidden, it can only be seen when zip code is validated -->
 <div  class="wrapper" id="city-wrapper" >
    <div class="error-div" id="city-error" ></div>
        <label>City:</label>
        <input type="text" class="input" name="city" id="city" >
 </div>
 <!-- this div is hidden, it can only be seen when zip code is validated -->

signup_validation.js

$('#zipcode').keyup(function() {
    $.post('action/validate_signup.php?key=zipcode', { zipcode: $(this).val() }, 
     function(result){
     $('#zipcode-error').html(result).show("slow");
    });

});

validate_signup.php

  if(isset($_POST['zipcode'])){
    $zip = $_POST['zipcode'];
    if(empty($zip)){
       echo "*Zipcode required!";
    }elseif( (strlen($zip)<5) OR (strlen($zip)>5)){
       echo "*Must be 5 digit!";
    }elseif(!is_numeric($zip)){
       echo "Must be numeric!";
    }else{
       $query = mysql_query("SELECT * FROM zip_codes WHERE zip = '{$zip}'");
       $found_zip = mysql_num_rows($query);
       if($found_zip =1){
         echo "<img src='images/check.jpg' /><input type = 'hidden' name='show-city' id='show-city' />";
       } else{
         echo "Zip not found";
       }

    }

 }

验证邮政编码后,我想显示 City div,但我不知道如何。

情况是这样的:用户必须输入他/她的有效邮政编码,一旦验证通过,隐藏的 div 就会出现并在提供的文本字段上显示它对应的城市。

【问题讨论】:

    标签: php javascript jquery validation


    【解决方案1】:
    如果($found_zip =1){ echo "found||"; } 别的{ 回声“错误||错误”; } //然后你的js $('#zipcode').blur(function() { var zip = $(this).val(); $.post('action/validate_signup.php?key=zipcode', { zipcode: zip }, 函数(结果){ var respArr = result.split("||"); 如果(“错误”==respArr[0]){ $('#zipcode-error').html(result).show("slow"); } 别的 { //在这里显示你隐藏的div $("#urHidden").show("slow"); } }); });

    【讨论】:

    • 我一定会在我的测试后发表任何评论先生,谢谢:-)
    • 我注意到每当我输入 zip 输入时,都会出现 City div。
    • 您可以将事件键位更改为模糊之类的内容,请参阅编辑后的代码
    【解决方案2】:

    当帖子返回为空时会显示div

    echo "<div id='city_holder'>No City</div>";
    if(isset($_POST['zipcode'])){
        $zip = $_POST['zipcode'];
        if(empty($zip)){
           echo "*Zipcode required!";
        }elseif( (strlen($zip)<5) OR (strlen($zip)>5)){
           echo "*Must be 5 digit!";
        }elseif(!is_numeric($zip)){
           echo "Must be numeric!";
        }else{
           $query = mysql_query("SELECT * FROM zip_codes WHERE zip = '{$zip}'");
           $found_zip = mysql_num_rows($query);
           if($found_zip =1){
    $row = mysql_fetch_array($query); 
    echo "<div id='city_holder'>".$row['city_name']."</div>";
    
             echo "<img src='images/check.jpg' /><input type = 'hidden' name='show-city' id='show-city' />";
           } else{
             echo "Zip not found";
           }
    
        }
    
     } 
    
    $('#zipcode').keyup(function() {
        $.post('action/validate_signup.php?key=zipcode', { zipcode: $(this).val() }, 
         function(result){
    
         if($('#city_holder').html() != 'No City')
    {
    $('#city').val($('#city_holder').html()); //to fill up the input
    $('#city-wrapper').show("slow");//to show the div 
    }
    else{
    $('#city').val(" "); //to empty the input 
    $('#city-wrapper').hide("slow");//to hide the div
         $('#zipcode-error').html(result).show("slow");
    }
    
        });
    
    });
    

    希望对你有帮助

    不要忘记用你的 CSS 将 city_holder 设置为隐藏

    如果您需要任何其他帮助,请发表评论

    【讨论】:

    • 谢谢先生,..我一定会测试你的建议。
    • 祝你好运 :) 告诉我结果
    • 情况是这样的:用户必须输入他/她的有效邮政编码,一旦验证通过,隐藏的div就会出现并在提供的文本字段上显示它对应的城市。
    • 那么你也应该在从数据库中获取城市名称后在某处填写城市名称,对吗?
    • 一个名为“city”的文本字段将根据用户的邮政编码获得相应城市的值。
    猜你喜欢
    • 1970-01-01
    • 2012-06-04
    • 2021-06-18
    • 1970-01-01
    • 1970-01-01
    • 2016-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多