繁体   English   中英

JavaScript启用按钮无法在php中运行

[英]JavaScript enable button not working in php

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

<?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>

如何更改它,以便当input =“foo”的值时,该按钮现在可以单击。
提前致谢

-ben

我无法理解你的问题,但如果你问的是我认为你在问什么(这是“如果在页面加载时填写表单,我该如何启用按钮?”),将脚本更改为以下:

$.ready(function(){
    $('input[name="age"], input[name="poscode"]').change(function(){
      if ($(this).val())
      {
        $("input[name='submit']").removeAttr('disabled');
      }
    }).change();
});

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

尝试使用如下的attr函数

$('#element').attr('disabled', true);

要么

$('#element').attr('disabled', false);

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM