【发布时间】:2014-05-30 10:14:54
【问题描述】:
我有什么:
- 我有一个包含两个普通文本框和两个禁用文本框的表单。
- 禁用的元素通过 jQuery 从启用的元素接收它们的值。
- 然后通过 PHP 发布四个元素的值
注意:我的表单被用作自定义 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 的示例对于我想要实现的目标来说似乎有点矫枉过正,但如果这是唯一的前进方向,我很乐意深入研究它。
【问题讨论】:
-
你为什么认为这是一个 jquery,甚至是一个 javascript 问题?即使删除所有 javascript,您也可以重新创建问题。
-
改用
type=hidden元素。 -
@KevinB - 考虑到代码的基本/简短程度,我假设 HTML 和 PHP 几乎不是问题。此外,在这三种语言中,我对 jQuery 最不熟悉,因此假设我的失礼发生在 jQuery 上似乎是合乎逻辑的。别担心,我不是那种对 jQuery 有非理性反感的类型。如果我从问题中删除所有 jQuery 的痕迹,你愿意吗?
-
不,我希望通过说明它会指出调试应该从哪个方向开始,以便下次您可以帮助自己找到答案。
-
@Blazemonger - 出于示例的目的,我希望能够从前端而不是源查看传输的值,但您的建议仍然是正确的。
标签: php jquery html ajax wordpress