我一直在使用Bootstrap 3来开发一个正在开发的项目,到目前为止它已经创造了奇迹而且真的无法解决它。但是我现在遇到了一个我似乎无法理解的问题。
问题:基本输入提交按钮没有做任何事情 - 但是当在自己的页面上运行时,即没有引导程序它运行正常。
以下是代码:
<section>
<div class="container">
<div class="col-md-6">
<?php
// define variables and set to empty values
$name = $email = $gender = $comment = $website = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = test_input($_POST["name"]);
$email = test_input($_POST["email"]);
$message = test_input($_POST["message"]);
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<h2>PHP Form Validation Example</h2>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name: <input type="text" name="name">
<br><br>
E-mail: <input type="text" name="email">
<br><br>
Comment: <br>
<textarea name="message" rows="5" cols="40"></textarea>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>
<?php
echo "<h2>Your Input:</h2>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $comment;
?>
</div>
</div>
</section>
如果您需要查看在包含其他内容的网页上运行该内容,您可以here
此外,我打算将其作为联系表单,但无论我使用什么PHP代码,我仍然会遇到此问题。
答案 0 :(得分:1)
您的contact_me.js中有此代码导致问题:
8. submitSuccess: function($form, event) {
9. event.preventDefault(); // prevent default submit behaviour
10. // get values from FORM
11. var name = $("input#name").val();
...
15. var firstName = name; // For Success/Failure Message
16. // Check for white space in name for Success/Fail message
17. if (firstName.indexOf(' ') >= 0) {
18. firstName = name.split(' ').slice(0, -1).join(' ');
...
控制台返回错误:
TypeError: firstName is undefined
我认为你选择的名字不合适。尝试使用:
var name = $("input[name=name]").val();
答案 1 :(得分:0)
我建议你做的是在你的表格中离开摆脱行动=&#34;&#34; 然后在PHP代码中进行所有变量清理和显示之前添加以下代码:
if (isset($_POST['submit'])) {
// Clean input, validate input. Then below output the form data.
}
基本上这个代码会检查是否按下了提交表单,并且表单被指定为它检查的POST。如果按下提交按钮,它只会清理并显示。试试看,告诉我它是怎么回事。你可能会感到困惑,为什么我把提交放在POST中,这是因为你的提交按钮有一个名字=&#34;提交&#34;,所以你使用那个名字。如果您将其更改为name =&#34; contactUs&#34;那么你就 isset($ _ POST [&#39; contactUs&#39;])。
修改强>
我写了一个简单的例子,它在执行时有效,你需要调整它以适应你的代码。
<section>
<div class="container">
<div class="col-md-6">
<?php
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<h2>PHP Form Validation Example</h2>
<form method="post">
Name: <input type="text" name="name">
<br><br>
E-mail: <input type="text" name="email">
<br><br>
Comment: <br>
<textarea name="message" rows="5" cols="40"></textarea>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>
<?php
if (isset($_POST['submit'])) {
$name = test_input($_POST['name']);
$email = test_input($_POST['email']);
$comment = test_input($_POST['message']);
echo $name . " - " . $email . " - " . $comment . " - ";
}
?>
</div>
</div>
</section>