1

这是没有 php echo 的代码,它可以工作。

<tr id='row1'>
<td><input type="text" name="date_day[]" id="date_day1" class="row_changed1"size="1"></td>
<td>
<a href="javascript://" onClick="clearChildren(document.getElementById('row1'))">Clear</a>
</td>
</tr>

但我必须在 php echo 中使用相同的

试过这个

 echo "<tr id='row11'>

 <td>
 <input type='text' name='date_day[]' id='date_day1' class='row_changed1' value='" .$post_date_day. "' size='1'>
 </td>

 <td>
 <input type='text' name='entry_id[]' id='entry_id1' class='row_changed1' size='5' value='".$post_entry_id ."' >
 </td>

 <td>
 <input type='text' name='row_id[]' id='row_id1' value='" .$post_row_id ."' size='1'>
 </td>

 <td>
 <a href=\"javascript://\" onClick=\"clearChildren(document.getElementById('row11'))\">Clear</a>

 </td>

 </tr>";

但不清楚。可能是因为使用不正确'"但无法理解什么是正确的方式。尝试更改'"反之亦然,但没有成功。

clearChildren 函数

function clearChildren(element) {
for (var i = 0; i < element.childNodes.length; i++) {
var e = element.childNodes[i];
if (e.tagName) switch (e.tagName.toLowerCase()) {
case 'input':
switch (e.type) {
case "radio":
case "checkbox": e.checked = false; break;
case "button":
case "submit":
case "image": break;
default: e.value = ''; break;
}
break;
case 'textarea': e.value = ''; break;
case 'select': e.selectedIndex = -1; break;
default: clearChildren(e);
}
}
}

和查看源(选择)是这个

input name="date_day[]" id="date_day1" class="row_changed1" value="" size="1" type="text">

<input name="entry_id[]" id="entry_id1" class="row_changed1" size="5" value="24/1305" type="text">

<input name="row_id[]" id="row_id1" value="24" size="1" type="text">

<a href="javascript://" onclick="clearChildren(document.getElementById('row11'))">Clear</a>
4

5 回答 5

1

我能够通过将 html 代码包装在标签中来解决您的问题。该函数被正确执行,并且可以访问 echo 语句中的 DOM 元素。

<?php
echo "
    <table>
        <tr id='row11'>
             <!-- put your td's here.... -->
             <td>
                  <a href=\"javascript://\" onClick=\"alert(document.getElementById('row11'))\">Clear</a>
             </td>
        </tr>
    </table>";

?>

于 2013-05-24T07:26:58.497 回答
1
echo "<table><tr id='row11'>

 <td>
 <input type='text' name='date_day[]' id='date_day1' class='row_changed1' value='' size='1'>
 </td>

 <td>
 <input type='text' name='entry_id[]' id='entry_id1' class='row_changed1' size='5' value='' >
 </td>

 <td>
 <input type='text' name='row_id[]' id='row_id1' value='' size='1'>
 </td>

 <td>
 <a href=\"javascript://\" onClick=\"clearChildren(document.getElementById('row11'));\">Clear</a>

 </td>

 </tr></table>";

尝试这个。我认为这个问题是由于不正确的表结构而出现的。

于 2013-05-24T07:17:24.537 回答
1

如果你想让你的 html 作为 php 变量,你可以使用以下方法:

$post_date_day =111;
$html = <<< EOD
<tr id='row1'>
    <td>
        <input type='text' name='date_day[]' id='date_day1' class='row_changed1' value="$post_date_day" size='1'>
    </td>
    <td>
        <a href="javascript:void(0)" onClick="clearChildren(document.getElementById('row1'))">Clear</a>
    </td>
</tr>
EOD;

echo $html;

这将使您的代码保持干净。

于 2013-05-24T07:18:56.533 回答
0

你已经用“开始你的php代码,你应该把followine行写成

 <a href=\"javascript://\" onClick=\"clearChildren(document.getElementById('row11'))\">Clear</a>

应该:-

<a href='javascript:void(0)' onclick='clearChildren(document.getElementById(\"row11\"))'>Clear</a>

只要有可能,您应该使用列或行的 id。

于 2013-05-24T07:07:33.117 回答
0

不知道,但也许它是 clearChildren 括号中的值,即 (),document.getElementById('row11');返回 null,当我只写 'row11' 时它返回它......

对不起,如果这还不够,我主要在 php/mysql 中编程,在 js/jquery 中稍微编程......

于 2013-05-24T07:07:51.180 回答