使用 jQuery 1.10.1,我将输入字段的值设置为:
$('.entry input').keyup(function () {
$('.target input').val(foo);
});
这在屏幕上有效,但是当提交表单时,该值会丢失或至少无法被 PHP 验证识别。
Chrome 的检查器根本不显示值:

http://api.jquery.com/val/上的示例具有相同的行为,在检查器中,无法看到更新的值。
那么如何通过 jQuery 设置可提交的值呢?
使用 jQuery 1.10.1,我将输入字段的值设置为:
$('.entry input').keyup(function () {
$('.target input').val(foo);
});
这在屏幕上有效,但是当提交表单时,该值会丢失或至少无法被 PHP 验证识别。
Chrome 的检查器根本不显示值:

http://api.jquery.com/val/上的示例具有相同的行为,在检查器中,无法看到更新的值。
那么如何通过 jQuery 设置可提交的值呢?
那是因为disabled属性。
禁用的输入不会提交给服务器。
要解决此问题,disabled请在提交之前删除该属性。
要跟进 SLaks 的回答,您可以在提交时启用输入:
$('#myForm').submit(function() {
$(this).('.question input').removeAttr('disabled');
return true;
});
而不是使用input type="text"您可以使用 asinput type="hidden"来存储您的数据。hidden输入对用户不可见,通常用于在表单中传递数据。