0

对 PHP 来说相当新,我想知道是否有一种方法可以使用 PHP 动态修改 HTML 表单上可用的输入,而无需提交表单数据。我正在为教师制作一个带有日历的网站,一旦用户选择“公告”选项,我需要将此表单中的“到期”输入设为灰色。

<form action="calendaradd.php" method="post">
    Event name: <input name="eventname" type="text" autocomplete="off"/></br>
    Event type: <select>
                    <option value="homework">Homework</option>
                    <option value="announcement">Announcement</option>
                </select>
    Event date: <input type="date" name="eventdate"></br>
    Due date: <input type="date" name="duedate"></br></br>
    <input name="submit" type="submit" value="Submit"/>
</form>

非常感谢。另外,我是否正确使用了选择/选项控件?选项是否应该使用值属性而不是名称?

4

3 回答 3

1

将 onchange 绑定到选择,如果值与您的标准匹配,则将输入设置为禁用:

使用 jQuery 使其更容易:

$('#select').on('change',function(){

  var value = $(this).val();
  if(value == 'announcement'){
    $('#duedate').prop('disabled',true);
  }
  else{
    $('#duedate').prop('disabled',false);
  }    

});

不过,您需要为元素提供正确的 ID(您也可以通过 DOM 遍历来获取它们,但 ID 会更快更容易)。此外,您的选择缺少该name属性,您需要它才能在服务器端获取值。

于 2013-05-20T04:55:05.433 回答
0

您可能想看看一些客户端脚本,因为服务器端(如 PHP)一旦加载就无法更改页面内容。在这里查看

您可以将 onTextChanged 事件设置为disabled将输入中的属性更改为true.

于 2013-05-20T04:49:20.083 回答
0

老实说,在我看来,最简单的应该是一些 jQuery 动画。您可以将其设置为当用户单击公告输入时,到期日期会更改颜色和其他属性。

JQuery 是要走的路,当涉及到这样的事情时,它比 PHP 更容易。

于 2013-05-20T04:52:09.563 回答