注意:我的表单正在用作acustom WordPress页面的一部分。
禁用的元素(即通过jQuery派生的值)不是通过PHP发布的。
PHP:
<?php
if(isset($_POST['submit'])) {
echo 'a= '.$_POST["textbox_a"].'<br />';
echo 'b= '.$_POST["textbox_b"].'<br />';
echo 'c= '.$_POST["textbox_c"].'<br />';
echo 'd= '.$_POST["textbox_d"].'<br />';
}
?>
jQuery的:
<script type="text/javascript">
jQuery(document).ready(function($) {
// Code here will be executed on document ready. Use $ as normal.
// alert("jQuery is working fine :-)");
$( "button" ).click(function( event ) {
event.preventDefault();
$('[name=textbox_c]').val($('[name=textbox_a]').val());
$('[name=textbox_d]').val($('[name=textbox_b]').val());
});
});
</script>
HTML:
<form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
<input type="input" name="textbox_a" />
<input type="input" name="textbox_b" />
<button>[jQuery] Click me to transfer</button><br />
<input type="input" name="textbox_c" disabled="disabled" />
<input type="input" name="textbox_d" disabled="disabled" />
<input type="submit" name="submit" value="[PHP] Click me to post" /><br />
</form>
为什么PHP不会将我的jQuery派生值视为常规输入值?虽然我从来没有使用过Ajax,但我认为Ajax是解决方案吗?我在Ajax上看到的例子对于我想要达到的目标来说似乎有些过分,但如果它是唯一的前进方向,我很乐意深入研究它。
答案 0 :(得分:4)
答案 1 :(得分:3)
禁止输入不会随表格一起提交;这是已禁用的已定义行为的一部分。
答案 2 :(得分:1)
禁用的元素(即通过jQuery派生的值)不是通过PHP发布的。
禁用的元素不会被发送到服务器。您可以使用readonly
代替disabled
,差异为readonly
输入发送到服务器。
答案 3 :(得分:1)
我不相信已禁用表单元素实际上已发布(无论是否由jQuery动态创建)。我会改用readonly="readonly"
属性。