php - 使用 fancybox 打开的表单中的 textarea 元素不会清除值

标签 php javascript fancybox

我有一个表单 obs_form.php 女巫是通过 fancybox 加载的。该表单具有添加或编辑观察值的作用。这是通过 textarea 完成的。

echo '<textarea id="obs" name="obs" autocomplete=off rows="0" cols="0">'.$row['obs'].'</textarea>';

表单及其功能在 Firefox 中完美运行。 问题来自 IE:假设我们已经在数据库中添加了评论,并且在保存后(信息存储在数据库中)我们意识到我们需要对评论进行一些修改。我们单击编辑按钮对评论进行修改,并将信息保存到数据库中。 到现在为止一切都很好……但是如果我们想对文本进行一些其他修改,那就倒霉了。因为文本区域显示的是原始文本(我认为来自现金)而不是我们上次保存的文本....

我试图在 obs_form.php 之上放置休闲脚本,以便 textarea 的值为 null 并强制从 DB 中读取它:

<script type="text/javascript">
   $(document).ready(function () {
      document.getElementById("obs").value = '';
      return false;
   });
</script>

但是它不起作用……我哪里做错了?

代码:

<script type="text/javascript">
  $(document).ready(function () {
   $("#obs").text('');
   return false;
  });
</script>
<?php //-------------------------------------------------------------- adauga Observatie
include 'mysql_conect.php';
    $page=$_REQUEST['page'];
    $proiect_id=$_REQUEST['proiect_id'];
    $azi=  strtotime ("today");
    $data=  date("Y-m-d",$azi);
    $task_id    = $_REQUEST["task_id"];
    $obs_id = $_REQUEST["obs_id"];

    $actiune="adauga";
        if ($_REQUEST["action"]=="editare") {
          $query=mysql_query('SELECT * FROM obs WHERE obs_id='.$obs_id) or die ("trrr");
          $row=mysql_fetch_array($query);
          $actiune="editeaza";
        }
    echo '<div id=obsform>';
echo '<form name=obs id=obs method=post action=obs_editare_'.$page.'.php?action='.$actiune.' autocomplete="off">';
        echo '<input type=hidden name=task_id value='.$task_id.'>';
                    echo '<input type=hidden name=proiect_id value='.$proiect_id.'>';
                    echo '<input type=hidden name=obs_id value='.$obs_id.'>';
                    echo '<input type=hidden name=page value='.$page.'>';
                    echo '<input type=hidden name=data_obs readonly="readonly" value='.$data.'>';
        echo '<table border=0 cellpading=2 cellspacing=0 width=100%>';
            echo '<tr>';
                echo '<td>';                        
                    echo '<label>Observatie</label>';
                    echo '<textarea id="obs" name="obs" autocomplete=off rows="0" cols="0">'.$row['obs'].'</textarea>';     
                echo '</td>';
            echo '</tr>';
            echo '<tr>';
                echo '<td>'; 
                    echo '<label>User</label>';
                    echo '<input type=text name=user value="'.($row['user']).'">';      
                echo '</td>';                                               
            echo '</tr>';
            echo '<tr>';
                echo '<td colspan=2>';
                echo '<div class=form_diferentiator></div>';
                echo '</td>';
            echo '</tr>';
            echo '<tr>';
                echo '<td colspan=2 style=text-align:center><input type=submit value='.$actiune.'></td>';
            echo '</tr>';
                      echo '</table>';
echo '</form>';
echo '</div>';
?>

最佳答案

textarea 值在标签中而不是在 value 属性中!

$(document).ready(function () {
   document.getElementById("obs").innerHTML = '';
   return false;
});

更好的方法是jquery的.val()方法

$(document).ready(function () {
   $("#obs").val();
});

关于php - 使用 fancybox 打开的表单中的 textarea 元素不会清除值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13564578/

相关文章:

javascript - 无法让 vimeo 视频与 fancybox 一起使用 - 我觉得我已经尝试了一切

javascript - 如何更改 Fancybox 预加载器图像?

PHP - 从 ldap_connect() 捕获超时异常

php - IE 中元素为空值

javascript - 在 firefox 中切换浏览器选项卡时 jquery 动画中断

javascript - jsfiddle 代码在我的网站上不起作用

php - 异步跨域GET请求

php - 在单独的行上使用 fseek() fread() 还是 fread() 整个文件和 substr 来解析更好?

没有源元素的 JavaScript getComputedStyle?

asp.net - 在 ASP.NET 中使用母版页时使用 JQuery 的正确方法是什么?