Javascript 如何使文本区域成为只读但不会变灰

Javascript 如何使文本区域成为只读但不会变灰,javascript,php,Javascript,Php,如何使文本区域成为只读但不会变灰 我正在使用此脚本,但它不起作用: $(".readonly").keydown( function keydown(e) { if(!e.ctrlKey) return false; // Cancel non ctrl-modified keystrokes if(e.keyCode == 65) return true;// 65 = 'a' if(e.keyCode == 67) return true;// 67 = 'c' return

如何使文本区域成为只读但不会变灰

我正在使用此脚本,但它不起作用:

$(".readonly").keydown(
function keydown(e) {
  if(!e.ctrlKey) return false; // Cancel non ctrl-modified keystrokes
  if(e.keyCode == 65) return true;// 65 = 'a'
  if(e.keyCode == 67) return true;// 67 = 'c'
  return false;
}
)
我试图使用
但它使字段变灰,我希望它是只读的,但不希望文本区域字段变灰

这是我的全部代码:

<body>

 <form name="search" method="post" action="">
 <fieldset style='width: 500px'>
 <legend align='left'><strong>Search</strong></legend>
 <p>
 Seach for: <input type="text" name="find" id="find" /> in 
 <Select NAME="field" id="field">
 <Option VALUE="testA">A</option>
 <Option VALUE="testB">B</option>
 <Option VALUE="testC">C</option>
 <Option VALUE="testD">D</option>
 </Select>
 <input type="hidden" name="searching" value="yes" />
 <input type="submit" name="search" id="search" value="Search" />
 </p>
 </fieldset>
 </form>

<script>
$(".readonly").keydown(
function keydown(e) {
  if(!e.ctrlKey) return false; // Cancel non ctrl-modified keystrokes
  if(e.keyCode == 65) return true;// 65 = 'a'
  if(e.keyCode == 67) return true;// 67 = 'c'
  return false;
}
)
</script>

<?php

 //This is only displayed if they have submitted the form 
if (isset($_POST['searching']) && $_POST['searching'] == "yes") 
{ 

//If they did not enter a search term we give them an error 
if (empty($_POST['find'])) 
{ 
echo "<p>You forgot to enter a search term"; 
exit; 
} 

 // Otherwise we connect to our Database 
 mysql_connect("host", "username", "passw") or die(mysql_error()); 
 mysql_select_db("testdb") or die(mysql_error()); 

 // We preform a bit of filtering 

 $find = strtoupper($_POST['find']); 
 $find = strip_tags($_POST['find']); 
 $find = trim ($_POST['find']); 
 $field = trim ($_POST['field']);

 //Now we search for our search term, in the field the user specified 
 $data = mysql_query("SELECT * FROM testtable WHERE UPPER($field) LIKE UPPER('%$find%')"); 


 //And we display the results 
 while($result = mysql_fetch_array( $data )) 
 { 
 $myRes = "<form action='' method='post'>
          <fieldset style='width: 10px'>
          <legend align='left'><strong>Results</strong></legend>
          <p>
          <table width='auto' border='1' cellspacing='1' cellpadding='1' align='center'>
          <tr>
          <th align='center' scope='row'>A</th>
          <td><textarea class=readonly name=testA id=testA cols=65 rows=3>" . $result['testA'] . "</textarea></td>
          </tr>
          <tr>
          <th scope='row'>B</th>
          <td><textarea class=readonly name=testB id=testB cols=65 rows=3>" . $result['testB'] . "</textarea></td>
          </tr>
          </table>
          </p>
          </fieldset>
          </form>";
 }
echo $myRes;  

 //This counts the number or results - and if there wasn't any it gives them a little message explaining that 
 $anymatches=mysql_num_rows($data); 
 if ($anymatches == 0) 
 { 
 echo "Sorry, but we can not find an entry to match your query<br><br>"; 
 } 

 //And we remind them what they searched for 
 echo "<b>Searched For:</b> " .$find; 
 } 

?>
</body>

搜索

搜索:在
A.
B
C
D

$(“.readonly”).keydown( 功能键控(e){ 如果(!e.ctrlKey)返回false;//取消未按ctrl键修改的击键 如果(e.keyCode==65)返回true;//65='a' 如果(e.keyCode==67)返回true;//67='c' 返回false; } ) 你可以使用css

差不多

textarea[readonly="readonly"], textarea[readonly] { //your styling }
乙二醇

还请注意,mysql_u函数已被弃用。您应该使用准备好的语句来MySQLi或PDO

查看您正在使用的代码class=readonly,除非您已经在css中实际创建了您应该使用的类

<textarea readonly></textarea>

您可以使用css

差不多

textarea[readonly="readonly"], textarea[readonly] { //your styling }
乙二醇

还请注意,mysql_u函数已被弃用。您应该使用准备好的语句创建MySQLi或PDO

查看您正在使用的代码class=readonly,除非您已经在css中实际创建了您应该使用的类

<textarea readonly></textarea>



灰显部分听起来像是你在使用属性
disabled
而不是属性
readonly
@larssy1不,我没有使用
disabled
,但是你称它为颜色…我不希望文本区域在我使用
readonly
时改变它的颜色,我不明白。您确定您的或外部样式表都不会影响具有该属性的textarea吗?@larssy1这只是Fredd建议的我的样式表的内容:
@charset“utf-8”;/*CSS Document*/textarea[readonly=“readonly”]{//style}
灰色部分听起来像是在使用属性
disabled
而不是属性
readonly
@larssy1 no im没有使用
disabled
,不管你怎么叫颜色……我不想让文本区在我使用
readonly
时改变颜色,我不明白。您确定您的或外部样式表都不会影响具有该属性的textarea吗?@larssy1这只是Fredd建议的我的样式表的内容:
@charset“utf-8”;/*CSS文档*/textarea[readonly=“readonly”]{//style}
不工作,我试图创建一个CSS文件:
@charset“utf-8”;/*CSS文档*/textarea[readonly=“readonly”]{//style}
并链接它,但它不工作,仍然是可编辑的,并且不是只读的。那么,您是否在CSS中添加属性样式,而不仅仅是//style?仍然不工作,我已经更改为您的CSS代码,请注意,我试图将其反映到来自数据库的数据中,并转换为以下格式:
A.“$result['testA']”。
@user2579439我在您的注释代码中没有看到readonly属性,只是要清楚,您是否尝试过“$result['domain']”废话…我已经感觉很累了…没有注意到…我可能在测试期间删除了它…谢谢你的帮助…现在一切都好了…不,它不起作用我试图创建一个CSS文件:
@charset“utf-8”;/*CSS文档*/textarea[readonly=“readonly”]{//style}
并链接它,但它不工作,仍然是可编辑的,并且不是只读的。那么,您是否在CSS中添加属性样式,而不仅仅是//style?仍然不工作,我已经更改为您的CSS代码,请注意,我试图将其反映到来自数据库的数据中,并转换为以下格式:
A.“$result['testA']”。
@user2579439我在您的注释代码中没有看到readonly属性,只是要清楚,您是否尝试过“$result['domain']”废话…我已经感觉很累了…没听清楚…我可能在测试时删除了它…谢谢你的帮助…现在一切都好了。。。