其實我爲HTML表單動態地生成輸入字段。 現在我的問題是提交表單時,什麼都不會發布到我的PHP。表單提交不是發佈由jQuery動態創建的字段
所以,當我在我的PHP使用
echo "<pre>"; print_r($_POST) ; echo "</pre>";
有一個空數組。
這裏是我的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>
可以忽略第3節,因爲其實我不與它合作。
因此,這裏的.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收到以下消息:
注意:未定義指數:
注意:未定義指數:
也許你能幫助我。這會很棒!
所以method="post"
有問題。當我使用method="get"
,並相應地更改PHP的GET一切工作正常。
所以POST可能不適用於PhpStorm的集成服務器嗎?
解決
的問題是,PhpStorm的集成服務器與POST方法的一些問題。隨着GET一切正常。
和球員,不要忘了給你的輸入類型的名稱;)
輸入的名稱必須是唯一的,我想這就是問題所在。 – Jeff
我想你說的是名字=「maincat」? 我刪除它來測試你的理論,但它沒有效果,仍然有一個空的POST數組。 – webbie
現在我給所有的輸入一個名字,但它沒有效果 – webbie