这是没有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>
答案 0 :(得分: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>";
试试这个。我认为这个问题是由于没有正确的表结构而出现的。
答案 1 :(得分: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;
这将使您的代码保持清洁。
答案 2 :(得分: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>";
&GT;
答案 3 :(得分:0)
你已经用“开始你的PHP代码,你应该写下以下行
<a href=\"javascript://\" onClick=\"clearChildren(document.getElementById('row11'))\">Clear</a>
应该是: -
<a href='javascript:void(0)' onclick='clearChildren(document.getElementById(\"row11\"))'>Clear</a>
只要有可能,您应该使用列的id或行。
答案 4 :(得分:0)
不知道但是也许它是clearChildren括号中的值,即在()中,document.getElementById('row11');
返回null,当我只写'row11'时它返回它...
对不起,如果还不够,我主要用php / mysql编写,有点js / jquery ...