如何在联系表单中使用input type =“tel”

时间:2012-09-17 21:29:10

标签: php html5 contact-form

PHP新手在这里尝试使用简单的联系表单。我拥有的字段是:“姓名”,“电子邮件”,“电话”和“消息”。我想弄清楚如何处理“电话”字段 - 我希望它输出到“消息”所在的相同位置,这样当收到电子邮件时它会将消息和电话号码输出到电子邮件的正文。我该怎么做?

    if( isset( $_POST['submit'] ) ) : 
        wp_mail( get_option( 'admin_email' ), 
        'Website Contact Form',
        ( isset($_POST['message'] ) ? $_POST['message'] : '(blank)' ), 
        'From: ' . ( isset( $_POST['from_name'] ) ? $_POST['from_name'] : 'Website Contact Form' ) . ' <' . ( isset( $_POST['from_email'] ) ? $_POST['from_email'] : get_option( 'admin_email' ) ). '>' . "\r\n" );
    $output = '<p>Thank you! Your message has been sent.</p>'; 
    else : 
        $output = '
<form action="" method="post"><ul>
    <li>
        <label for="from_name">Name</label>
        <input type="text" name="from_name" id="from_name" />
    </li>
    <li>
        <label for="from_email">Email</label>
        <input type="email" name="from_email" id="from_email" />
    </li>
    <li>
        <label for="from_tel">Phone</label>
        <input type="tel" name="from_tel" id="from_tel" />
    </li>
    <li>
        <textarea name="message" id="message"></textarea>
    </li>
    <li class="submit">
        <input name="submit" type="submit" value="Say Hello!" />
    </li>
</ul></form>';
    endif;
    return $output;

3 个答案:

答案 0 :(得分:0)

没有像type=tel这样的东西,只需使用type=text并在删除连字符,大括号等(如果有的话)后仅对数字进行验证。

$_POST['tel'] = str_replace(array('-','(',')', ' ', '+'), '', $_POST['tel']);
if( is_numeric($_POST['tel']) === FALSE )
  echo 'Telephone # should consist of only numbers.';

答案 1 :(得分:0)

或者,使用三个输入类型=文本

(____) ___ - _____

将它们与php合并在一起。

答案 2 :(得分:0)

您可以使用this验证您的电话号码。

在前端,您可以使用JavaScript mask使输入字段看起来很性感。