gpt4 book ai didi

javascript - 表单提交未发布由 jQuery 动态创建的字段

转载 作者:行者123 更新时间:2023-12-01 05:25:46 25 4
gpt4 key购买 nike

实际上,我正在动态生成 HTML 表单的输入字段。现在我的问题是,当提交表单时,没有任何内容会发布到我的 php 中。

所以当我使用时

echo "<pre>"; print_r($_POST) ;  echo "</pre>";

在我的 php 中有一个空数组。

这是我的 html 表单:

<form method="POST" action="../php/saveTraining.php" id="trainingForm">
<section id="mainCategory" class="hidden">
<label><input type="checkbox" name="mainCat" id="Krafttraining">Krafttraining</label>
<label><input type="checkbox" name="mainCat" id="Joggen">Joggen</label>
</section>
<section id="categoryKrafttraining" class="hidden">
<label class="subCategory"><input type="checkbox" class="subCategory">Kurzhantel</label>
<label class="subCategory"><input type="checkbox" class="subCategory">Bankdrücken</label>
</section>
<section id="categoryJoggen" class="hidden">
<label><input type="number" name="joggingKm" id="joggingKm">Kilometer</label>
<label><input type="number" name="joggingTime" id="joggingTime">Zeit</label>
</section>
<input type="hidden" id="saveTraining" name="sent" value="save">
</form>

你可以忽略第三部分,因为实际上我没有使用它。

这是我创建附加字段的 .js 代码:

('#'+ category +' :checkbox').off('change').change(function (event) {
console.log("YUP");
sectionID = 'sect'+ $(event.target.parentNode).text();
if (this.checked){
//append input fields
$('#'+category).append( '<section id='+sectionID+'><h5>'+$(event.target.parentNode).text()+'</h5><label><input type="number" name="saetze" id="saetze">Sätze</label>' +
'<label><input type="number" name="wiederholungen" id="wiederholungen">Wiederholungen</label></section>');
}else{
console.log("HIER");
//delete not necessary input fields
$('#'+sectionID).remove();

}
});

这是我的 .php 连接:

<?php
$host= "127.0.0.1";
$user= "censored";
$pw= "censored";
$db= "censored";


$mysqli = new mysqli("localhost", "$db", "$user", "$pw", 3306);
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") ";
}

echo $mysqli->host_info . "\n";

?>

这是从表单提交中调用的 .php:

<?php
include ('datenbankConnect.php');

$saetze = $_POST['saetze'];
$wiederholungen = $_POST['wiederholungen'];
echo "werte:";
echo $saetze;
echo "<pre>"; print_r($_POST) ; echo "</pre>";
?>

因此,在提交表单时,我还从我的 php 收到以下消息:

Notice: Undefined index:
Notice: Undefined index:

也许你可以帮助我。那就太好了!

所以method="post"有问题。当我使用 method="get" 并相应地将 php 更改为 GET 时,一切正常。

那么 POST 是否有可能不适用于 PhpStorm 的集成服务器?

<小时/>

已解决

问题是 PhpStorm 的集成服务器在 POST 方法方面存在一些问题。使用 GET 一切正常。

伙计们,别忘了给你的输入类型命名;)

最佳答案

输出是什么:

echo "<pre>"; print_r($_POST) ;  echo "</pre>";

如果您的 post 数组中没有 saetze,您应该使用 firebug 或 chrome devTools 检查 HTML 代码,看看您的 javascript 代码是否正常工作。

关于javascript - 表单提交未发布由 jQuery 动态创建的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39809378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com