Javascript重新启用按钮

时间:2014-03-28 18:22:08

标签: javascript php

嗨:)我有一个快速的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>

3 个答案:

答案 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");