嗨:)我有一個快速的JavaScript問題,因爲它不是我的強項,我已經搜索了其他論壇,但似乎無法得到它的工作。情況是我有一個HTML表單,其中包含由JQuery Datepicker(id=datepicker
),「獲取數據」按鈕(id=getdata
)和其他3個按鈕Edit(id=edit
),Save(id=savechanges
)和Delete(id=delete
)驅動的文本框。以及另一個文本框和textarea。Javascript重新啓用按鈕
當用戶選擇一個日期並點擊「獲取數據」按鈕時,文本框和文本區會填充數據庫中的數據。這工作正常。在來自數據庫的數據填充文本框和文本區之前,在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>
'return'只能放在一個函數裏面,只是將其刪除。 – Teemu
這些設置爲假的外觀正確。返回false可能會給你一個錯誤。但設置應該可能已經運行,除非你的js引擎首先解析整個塊並且不會運行任何它。擺脫返回錯誤,看看你是否仍然有同樣的問題。如果你這樣做,添加你的HTML元素,以更清晰的問題。 – williambq
我刪除了'返回false',但仍然沒有運氣,我添加了HTML以獲得更清晰的建議。 – user3266484