通过JS将POST数据传递给PHP失败

时间:2013-07-17 15:45:54

标签: php javascript post

我第一次添加了大量的东西,混合了JS,PHP,THREE以及许多其他东西。这就是我尝试过的。

当有人点击人体上的THREE.js场景时,选择人体的一部分和javascript然后将其添加到我希望使用PHP / MySQL将所选内容保存到数据库中。

THREE.js场景有效,我可以选择/取消选择内容并生成动态HTML输出。例如,我得到一个像这样生成的表单:

<canvas width="1680" height="949"></canvas>
<div id="Description">Will be added to database:</div>
<form id="BodyParts" method="POST" action="index.php?s=cinput">
    <input type="checkbox" id="leg_right" name="leg_right" disabled="" value="leg_right">
    <div id="leg_right_Description">Rechtes Bein</div>
    <input type="checkbox" id="leg_left" name="leg_left" disabled="" value="leg_left">
    <div id="leg_left_Description">Linkes Bein</div>
    <input type="checkbox" id="torso_top" name="torso_top" disabled="" value="torso_top">
    <div id="torso_top_Description">Obertorso</div>
    <input type="submit" value="Speichern" id="Submit">
</form>

因此,点击提交按钮后我只使用var_dump($ _ POST);在我收到cinput.php文件。但它给出了一个空数组。但是,在尝试重新加载网站时,Chrome会告诉我某些数据已经发送,我需要再次验证它。你知道我的意思。如何生成上面的HTML表单不起作用,而不发送我可以在PHP中使用的POST数据?

1 个答案:

答案 0 :(得分:3)

您在所有输入字段中都有disabled属性。仅仅存在此属性,即使其值为空("")也会导致该字段被禁用。已禁用的字段 NOT 与表单的其余部分一起提交。由于您的整个表单只有禁用输入,因此您根本不提交任何内容。

e.g。

<input type="text" value="foo" disabled="" />
<input type="text" value="bar" disabled="false" />
<input type="text" value="baz" disabled="disabled" />

所有这三个输入都被禁用,即使是通过“人类”逻辑,你也希望只有最后一个被禁用。

您的提交按钮未被禁用,但由于没有name属性,因此它也不会向表单提交任何内容。