仅当语句为真时清除文本框 - PHP

时间:2014-02-03 14:33:44

标签: php textbox

我有一个页面,用户将在其中添加文件夹到他们的帐户。当他们为专辑创建名称时,它会检查该名称的专辑是否已经存在;如果它已经存在,它会告诉他们已经拍摄,但如果没有,则会创建出现在页面上的相册。

我需要的是,只有在成功创建相册时才能重置文本框。目前我有类似的东西:

if(isset($_POST['create_album']))
    {
        if(isset($_POST['new_album']) && $_POST['new_album'] != "")
        {
            $new_album_name = $_POST['new_album'];
            if(/** Here I check if the $new_album_name exists **/) {        
                $new_album_name_error =  "album exists numbnuts";
            }
            else
            {
                            /** LOTS OF CODE **/
                /** Here I create a new album with the input **/
                            /** END OF LOTS OF CODE **/

                echo "<script> 
                    document.getElementById('new_album').value='';
                    </script>";

            }
        }
    }

提交按钮的ID为'create_album',文本框的ID为'new_album'。

然而,我似乎无法得到任何工作,它将获得文本框的ID并清除它。其他一切都很完美。

注意:在代码中,我已经取出了文件路径和代码,用于检查相册是否存在以及创建相册,为简单起见而且不需要。

2 个答案:

答案 0 :(得分:0)

PHP是1次拍摄。它查询服务器并吐出响应。任何互动都需要一些帮助。我建议使用ajax jquery / javascript。让提交按钮调用一个执行查询的ajax页面,它将返回一个结果。从该结果中,您可以确定文本框的值。

 <script>

 ($'#subAlbum').click (function ()
  {
       var newAlbum = $('#newAlbum');
       var data = "newAlbum="+newAlbum;
                        $.ajax(
                    {  
                            type: "POST",  
                            url: "checkAlbum.php",
                            data: data,
                            success: function(result)
                            {
                                   if (result == "true") //error condition
                                   {
                                      $('#newAlbum').val('');
                                   }
                                   else
                                   { 
                                      $('#newAlbum').val(newAlbum);
                                   }


                            }
                       })
  });


 </script>



 <form id='albumForm' method='POST' action='#'> 
 <input type='text' name='newAlbum' id='newAlbum' value='<?php echo $albumName;?>'>
 <input type='button' id='subAlbum' value='submit'>

on checkAlbum.php运行您的查询并回显“true”或“false”作为回复。

答案 1 :(得分:0)

另一种选择是在没有AJAX的情况下进行。

注意:我假设您正在向同一个PHP文件发出请求。

<?php    
$new_album_name_error = "";
$albumName = "";
if(isset($_POST['create_album'])) {
    if(isset($_POST['new_album']) && $_POST['new_album'] != "") {
            $new_album_name = $_POST['new_album'];
            if(/** Here I check if the $new_album_name exists **/) {        
                $new_album_name_error =  "album exists numbnuts";
                $albumName = $new_album_name;
            }
            else {
                            /** LOTS OF CODE **/
                /** Here I create a new album with the input **/
                            /** END OF LOTS OF CODE **/

            }
    }
}

?>

<span class="error_code"><?php echo $new_album_name_error; ?></span>



<input type="text" id="new_album"><?php echo $albumName; ?></input>

每当您加载页面时,输入都将为空。

如果出现某些错误,它会在span中显示错误,并会显示相册名称。 如果一切正常,它会将相册名称显示为空。