【问题标题】:Submit button in a PHP form is unclickablePHP 表单中的提交按钮不可点击
【发布时间】:2016-05-25 09:42:51
【问题描述】:

问题在于提交按钮,它只是无法点击,当我尝试使用表单向自己提交电子邮件时,什么也没有发生(=屏幕没有改变)。

这是我的代码:

<div class="col-sm-6">
<h4 class="font-alt">Get in touch</h4>
<br>
<form id="contact-form" role="form" novalidate="">
<div class="form-group">
<label class="sr-only" for="cname">Name</label>
<input type="text" id="cname" class="form-control" name="cname"       placeholder="Name*" required="" data-validation-required-message="Please enter your name.">
<p class="help-block text-danger"></p>
</div>

<div class="form-group">
<label class="sr-only" for="cemail">Your Email</label>
<input type="email" id="cemail" name="cemail" class="form-control" placeholder="Your E-mail*" required="" data-validation-required-message="Please enter your email address.">
<p class="help-block text-danger"></p>
</div>

<div class="form-group">
<textarea class="form-control" id="cmessage" name="cmessage" rows="7" placeholder="Message*" required="" data-validation-required-message="Please enter your message."></textarea>
<p class="help-block text-danger"></p>
</div>

<div class="text-center">
<button type="submit" class="btn btn-block btn-round btn-d">Submit</button>
</div>

</form>
<div id="contact-response" class="ajax-response font-alt"></div>
</div>

这是我正在使用的 PHP:

<?php
// Mail settings
$to = "info@liannesiemensma.com";
$subject = "Contact form";
if (isset($_POST["name"]) && isset($_POST["email"]) && isset($_POST["message"])) {

$content  = "Name: "     . $_POST["name"]    . "\r\n";
$content .= "Email: "    . $_POST["email"]   . "\r\n";
$content .= "Message: "  . "\r\n" . $_POST["message"];

if (mail($to, $subject, $content, $_POST["email"])) {

$result = array(
"message" => "Thanks for contacting me! I will do my best to reply in a timely manner.",
"sendstatus" => 1
);

echo json_encode($result);
} else {

$result = array(
"message" => "Sorry, something is wrong.",
"sendstatus" => 0
);

echo json_encode($result);
}
}
?>

我做错了什么?

【问题讨论】:

  • 你的 PHP 代码在哪里?
  • 你的action="example.php"在哪里,请将action属性放在
    标签
  • 您面临什么问题?而且,我认为您正在使用框架。你能告诉你的框架名称吗?
  • 你说的不起作用是什么意思?它不提交表格?它没有 action 属性,所以在 HTML5 中它会提交给自己。提交表格没有任何作用?你得到一个 PHP “白屏死机”?具体是什么问题?
  • 我还是想知道,为什么很少有人发帖后变成&lt;input type='hidden'&gt;

标签: php html button form-submit contacts


【解决方案1】:

实际上您的表单在同一页面上正确提交只需添加

<?php
print_r($_GET);
?>

在第一行添加并检查

【讨论】:

  • 感谢纳文!实际上那部分已经在我的 php 框架中了,对吧?我也应该将它放在 html 文件中吗?
【解决方案2】:

编写表单标签action="fileName.php" 和方法

例如: &lt;form id="contact-form" role="form" novalidate="" action="#" method="post"&gt;

【讨论】:

【解决方案3】:

您的表单声明中缺少动作和方法标记,如下例所示:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

然后你需要用扩展名.php 重命名你的文件并在&lt;?php ?&gt;标签中做一些php处理。您可以使用 isset() 方法验证您的字段,如下例所示:

isset($_POST["cname"])

【讨论】:

  • 在 HTML5 中(这是 - 使用占位符属性) action 默认为 selfmethodget - 如果它们丢失,它不会阻止表单提交。
  • 感谢@CD001 的更新!无论如何,他仍然缺少他的 php 代码
猜你喜欢
  • 2017-04-26
  • 2016-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-04
  • 2015-11-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多