嗨:)我有一个快速的JavaScript问题,因为它不是我的强项,我已经搜索过其他论坛,但似乎无法使其正常运行。情况是我有一个HTML表单,其中包含一个由JQuery Datepicker(id=datepicker
)驱动的文本框,一个' Get Data'按钮(id=getdata
)和其他3个按钮编辑(id=edit
),保存(id=savechanges
)和删除(id=delete
)以及其他文本框和文本区域。
当用户选择日期并点击"获取数据"按钮,文本框和文本区域填充了数据库中的数据。这很好。在数据库中的数据填充文本框和文本区域之前,在HTML表单中创建它们时,使用"disabled"
属性禁用编辑,保存和删除按钮。我的问题是我想在选择日期后重新启用按钮。到目前为止我的代码是;
//Check if the request method is POST and if a date has been selected
if (($_SERVER["REQUEST_METHOD"] == "POST") && (isset($_POST['getdata'])))
{
if ($_POST['datepicker'] != "")
{
$HistoryDate = $_POST['datepicker'];
$HistoryQuery = "SELECT Weight, Notes FROM `".$username."weight` WHERE Date = ' $HistoryDate';";
$RunQuery = mysql_query($HistoryQuery) or trigger_error(mysql_error().$HistoryQuery);
$details = mysql_fetch_array($RunQuery);
$savedWeight = $details["Weight"];
$savedNotes = $details["Notes"];
?>
<script type="text/javascript">
document.getElementById("edit").disabled=false;
document.getElementById("savechanges").disabled=false;
document.getElementById("delete").disabled=false;
return false;
</script>
<?php
}
else
{
$GetDataError = "*You must select a date!";
}
}
除了javascript部分之外,上面代码中的所有内容都有效。非常感谢任何帮助,谢谢!
HTML如下;
<div id="left">
<div id="border">
<h3 class="heading">Weight History</h3>
<p class="heading">Select a Date to View Your Weight Record:</p>
<form method="post" action="">
<table>
<tr>
<td><span class="error"><?php echo $GetDataError;?></span>
<p>Date: <input type="text" id="datepicker" name="datepicker" /></p></td>
<td><br><input name="getdata" style="width:75px; position:relative; font-size:14px; left:-100px; top:-7px; height:25px;" type="submit" id="getdata" value="Get Data" /></td>
</tr>
<tr>
<td>Your Weight was: (lbs)</td>
</tr>
<tr>
<td><input type="text" id="record" name="record" disabled="disabled" value="<?php echo $savedWeight; ?>" /></td>
</tr>
<tr>
<td>Your Notes were:</td>
</tr>
<tr>
<td><textarea name="oldnotes" cols="40" rows="13" MaxLength="300" disabled="disabled" id="oldnotes"><?php echo $savedNotes; ?></textarea></td>
</tr>
<tr>
<td><br><input name="print" style="width:75px; position:relative; font-size:14px; left:2px; height:25px;" type="submit" id="print" value="Print" onClick="window.print()" /></td>
<td><br><input name="edit" disabled style="width:75px; position:relative; font-size:14px; right:258px; height:25px;" type="submit" id="edit" value="Edit" onclick="document.getElementById('oldnotes').disabled=false; document.getElementById('record').disabled=false; return false;" /></td>
<td><br><input name="savechanges" disabled style="width:75px; position:relative; font-size:14px; right:250px; height:25px;" type="submit" id="savechanges" value="Save" /></td>
<td><br><input name="delete" disabled style="width:75px; position:relative; font-size:14px; right:240px; height:25px;" type="submit" id="delete" value="Delete" /></td>
</tr>
</table>
</form>
</div>
</div>
答案 0 :(得分:3)
根据http://jsfiddle.net/2Gwt5/2/两者:
document.getElementById("edit").disabled=false;
和
document.getElementById("edit").removeAttribute("disabled");
的工作。 尝试删除&#34;返回false&#34;但如果这不起作用,您的JavaScript可能无法正常运行。我会为测试目的添加一个警报,看看你的代码是否执行。
答案 1 :(得分:1)
使用:
document.getElementById("ID").removeAttribute("disabled");
答案 2 :(得分:0)
尝试使用.removeAttribute
document.getElementById("edit").removeAttribute("disabled");
document.getElementById("savechanges").removeAttribute("disabled");
document.getElementById("delete").removeAttribute("disabled");