在电子邮件的同一行上引导 3 表单和多个输入


Bootstrap 3 form and mutliple inputs on same line in e-mail message

我已经搜索了几个小时,但实际上找不到答案。

我想做的是一个大字段和彼此相邻的小字段,例如。 对于单独的地址或电话号码,例如 Blackstreet 27 或 123 - 456789。 它需要在我邮箱中收到的邮件中打印为一个。 一切都与网页上的两个或多个字段有关,但与最终结果无关。相同的名称或 ID 不起作用。

<div class="row">
   <div class="col-xs-6">
     <div class="form-group">
        <label for="form_area">Area code *</label>
        <input id="form_area" maxlength="4" type="tel" name="area" class="form-control" placeholder="Area code required *" required="required" data-error="Your area code is required.">
        <div class="help-block with-errors"></div>
     </div>
   </div>
   <div class="col-xs-6">
     <div class="form-group">
        <label for="form_phone">Phone number *</label>
        <input id="form_phone" type="tel" pattern="^[_0-9]{1,}$" name="phone" class="form-control" placeholder="Phone number required *" required="required" placeholder="Your phone number is required.">
        <div class="help-block with-errors"></div>
      </div>
   </div>
</div>

编辑:对不起。我认为这与 php 文件有关。' 使这一切中断。当我删除它时,它全部出现在一行中,只有一些字段必须在一行中。

法典:

<?php
// configure
$from = 'emailadres'; 
$sendTo = 'emailadres';
$subject = 'New message from contact form';
$fields = array('name' => 'Name', 'businessname' => 'Businessname', 'phone' => 'Phonenumber', 'email' => 'Email', 'message' => 'Message'); // array variable name => Text to appear in email
$okMessage = 'I'll contact you asap!';
$errorMessage = 'Something went wrong. try again later';
// let's do the sending
try
{
$emailText = "You have new message from contact form'n============================='n";
foreach ($_POST as $key => $value) {
    if (isset($fields[$key])) {
        $emailText .= "$fields[$key]: $value'n";
    }
}
mail($sendTo, $subject, $emailText, "From: " . $from);
$responseArray = array('type' => 'success', 'message' => $okMessage);
}
catch ('Exception $e)
{
$responseArray = array('type' => 'danger', 'message' => $errorMessage);
}
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) &&  strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
$encoded = json_encode($responseArray);
header('Content-Type: application/json');
echo $encoded;
}
else {
echo $responseArray['message'];
}
?>

也许你可以写 col-xs-2 而不是 col-xs-5。或者写入输入字段宽度。另请查看 http://bootsnipp.com/有数十个有效的引导片段。

不幸的是,

我的问题还没有解决。是否可以做这样的事情:

foreach ($_POST as $key => $value) {
if (isset($fields[$key])) {
    $emailText .= "$fields[$key]: $name $businessname'n";
                  "$fields[$key]: $phonenumber'n";
                  "$fields[$key]: $email'n";
   }
}

所以我告诉表单在哪个值之后打破,而不是在每个值之后?

将我的旧 phpmailer 表单与引导和 ajax 表单相结合应该更容易,但我缺乏经验来解决这个问题。

我终于得到了答案!(感谢剧本作者Ondrej)。

这部分必须更换:

foreach ($_POST as $key => $value) {
if (isset($fields[$key])) {
    $emailText .= "$fields[$key]: $value'n";
}
}

为此:

$emailText .= "Name: " . $_POST['name']. "'n";
$emailText .= "Businessname: " . $_POST['businessname']. "'n";
$emailText .= "Address: " . $_POST['street']." ". $_POST['number']. "'n";
$emailText .= "Phonenumber: " . $_POST['phone']. "'n";
$emailText .= "E-mail: " . $_POST['email']. "'n";
$emailText .= "Message: " . $_POST['message']. "'n";

并且可以在配置部分删除此行:

$fields = array('name' => 'Name', 'businessname' => 'Businessname', 'phone' => 'Phonenumber', 'email' => 'Email', 'message' => 'Message'); // array variable name => Text to appear in email

所以完整的 php 文件现在看起来像这样:

<?php
// configure
$from = 'emailadres'; 
$sendTo = 'emailadres';
$subject = 'New message from contact form';
$okMessage = 'I'll contact you asap!';
$errorMessage = 'Something went wrong. try again later';
// let's do the sending
try
{
$emailText = "You have new message from contact form'n============================='n";
$emailText .= "Name: " . $_POST['name']. "'n";
$emailText .= "Businessname: " . $_POST['businessname']. "'n";
$emailText .= "Address: " . $_POST['street']." ". $_POST['number']. "'n";
$emailText .= "Phonenumber: " . $_POST['phone']. "'n";
$emailText .= "E-mail: " . $_POST['email']. "'n";
$emailText .= "Message: " . $_POST['message']. "'n";
mail($sendTo, $subject, $emailText, "From: " . $from);
$responseArray = array('type' => 'success', 'message' => $okMessage);
}
catch ('Exception $e)
{
$responseArray = array('type' => 'danger', 'message' => $errorMessage);
}
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) &&   strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
$encoded = json_encode($responseArray);
header('Content-Type: application/json');
echo $encoded;
}
else {
echo $responseArray['message'];
}
?>