-1

この Javascript を使用して、preq既に 4 行を含むテーブルに行を追加しています。問題は、このJavascript行を使用して行を追加するとフォームに適切に追加されることですが、フォームに何らかのエラーが発生した場合、フォームがリロードされた場合、この新しく追加された行は表示されず、行内に入力されたテキストも表示したいです ここに画像の説明を入力

javascript

<script type="text/javascript">
            var counter = 5;
            function addrow()
            {
                if (counter > 10)
                {
                    alert("Only 10 Kind of Works are allowed");
                return false;
                }
            $('#preq > tbody:last').append('<tr><td><input title="Enter Kind Of work" readonly="readonly" onclick="if(this.value!=\'\'){this.value=\'\';opendrop();}else{opendrop();}" id="other_work' + counter + '" name="other_work' + counter + '" type="text" size="30" onclick="opendrop()" <?php if (isset($errors)) { echo 'value="'.htmlentities(@$_POST['other_work' + counter + '']).'"'; } ?>></td><td><input name="client_name' + counter + '" type="text" id="client_name' + counter + '" size="40"/></td><td><input name="firm_name' + counter + '" type="text" id="firm_name' + counter + '" size="40"/></td></tr>');
                counter++;
            }
            </script>

htmlコード

<table align="left" id="preq" style="display: none;">
                <tr>
                                </tr>
                                    <tr>
                                    <th align="left"><label id="Label1"> Kind of Work </label></th>
                                    <th align="left"><label id="Label1"> Name Of The Client </label></th>
                                    <th align="left"><label id="Label1">Name of Firm / Organisation </label></th>
                                    </tr>
            <tbody>

            <!--4 rows alredy present here-->
            </tbody>
    <tr><td colspan="3"><input type="button" class="button" value="Add Kind of Work" onclick="addrow()"/></td></tr>

            </table>
4

2 に答える 2

1

フォームをリロードした後も新しく追加された行を維持したい場合は、それをデータベースに保存する必要があります。そうしないと、ページがリロードされるたびにデータが失われます。

于 2013-01-05T11:09:38.393 に答える
0

addelseを試してみてください。そうすれば、エラーがない場合にのみ行が追加されます(これはで警告されますif())。

if (counter > 10) {
  alert("Only 10 Kind of Works are allowed");
  return false;
} else {
  $('#preq > tbody:last').append('<tr><td><input title="Enter Kind Of work" readonly="readonly" onclick="if(this.value!=\'\'){this.value=\'\';opendrop();}else{opendrop();}" id="other_work' + counter + '" name="other_work' + counter + '" type="text" size="30" onclick="opendrop()" <?php if (isset($errors)) { echo 'value="'.htmlentities(@$_POST['other_work' + counter + '']).'"'; } ?>></td><td><input name="client_name' + counter + '" type="text" id="client_name' + counter + '" size="40"/></td><td><input name="firm_name' + counter + '" type="text" id="firm_name' + counter + '" size="40"/></td></tr>');
  counter++;
  return true;
}
于 2013-01-05T09:46:59.427 に答える