1

ファンシーボックスを介してフォームobs_form.phpウィッチがロードされています。このフォームには、観測を追加または編集する役割があります。これはtextarea.

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

フォームとその機能は、Firefox で完全に動作します。問題は IE から来ています。DB にコメントを入れて保存した後 (情報は DB に保存されます)、コメントにいくつかの変更を加える必要があることに気付きました。編集ボタンをクリックしてコメントを変更し、情報を DB に保存します。今まではすべて順調でした...しかし、テキストに他の変更を加えたい場合は不運です。テキスト領域には、前回保存したテキストではなく、元のテキスト (現金からだと思います) が表示されるため....

obs_form.phptextarea の値が 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>';
?>
4

2 に答える 2

2

textarea の値は、value 属性ではなくタグにあります!

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

より良い方法は、jquery の .val() メソッドです。

$(document).ready(function () {
   $("#obs").val();
});
于 2012-11-26T12:11:12.643 に答える
0

次のものが必要になる場合があります。

<script type="text/javascript">
   $(document).ready(function () {
      $("#obs").text('');
      return false;
   });
</script>
于 2012-11-26T12:10:40.927 に答える