首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JavaScript启用按钮在php中不起作用

JavaScript启用按钮在php中不起作用
EN

Stack Overflow用户
提问于 2012-01-07 08:05:30
回答 2查看 370关注 0票数 3

我使用Javascript来启用或禁用按钮,具体取决于输入值。我是PHP的新手,所以我不知道为什么这个不能工作。下面是PHP代码:

代码语言:javascript
运行
复制
<?php 
session_start();
include_once('header.php');
include_once('functions.php');

$_SESSION['userid'] = 1;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>Microblogging Application</title>
</head>
vbody>

<?php
if (isset($_SESSION['message'])){
    echo "<b>". $_SESSION['message']."</b>";
    unset($_SESSION['message']);
}
?>
<form method='post' action='add.php'>
<p>Your status:</p>
<textarea name='body' rows='5' cols='40' wrap=VIRTUAL></textarea>

<input type="text" name="age" />
<input type="text" name="poscode" />
<input type="submit" name="submit" value="Post" disabled="disabled"/>




</form>

<script type="text/javascript">
$('input[name="age"], input[name="poscode"]').change(function(){
  if ($(this).val())
  {
    $("input[name='submit']").removeAttr('disabled');
  }
});

</script>
<?php
$posts = show_posts($_SESSION['userid']);

if (count($posts)){
?>
<table border='1' cellspacing='0' cellpadding='5' width='500'>
<?php
foreach ($posts as $key => $list){
    echo "<tr valign='top'>\n";

    echo "<td>".$list['body'] ."<br/>\n";
    echo "<small>".$list['stamp'] ."</small></td>\n";
    echo "</tr>\n";
}
?>
</table>
<?php
}else{
?>
<p><b>You haven't posted anything yet!</b></p>
<?php
}
?>
</body>
</html>

如何更改它,以便当输入的值= "foo“时,按钮现在是可单击的。

提前感谢

-Ben

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-07 08:08:26

我不能理解您的问题,但是如果您问的是我认为您在问的问题(即“如果页面加载时填充了表单,我该如何启用按钮?”),请将脚本更改为:

代码语言:javascript
运行
复制
$.ready(function(){
    $('input[name="age"], input[name="poscode"]').change(function(){
      if ($(this).val())
      {
        $("input[name='submit']").removeAttr('disabled');
      }
    }).change();
});

我添加了change调用来触发change事件处理程序,并将其包装在jQuery的ready处理程序中。

票数 3
EN

Stack Overflow用户

发布于 2012-01-07 08:11:10

尝试使用如下所示的attr函数

代码语言:javascript
运行
复制
$('#element').attr('disabled', true);

代码语言:javascript
运行
复制
$('#element').attr('disabled', false);

因为不同的浏览器对disbaled属性的处理方式不同,所以使用truefalse可以让jquery处理跨浏览器的问题

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8766102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档