Javascript 使用js更新表单字段,但未显示在提交的数据中
通过在CakePHP2.0中使用JsHelper进行实验,我得到了一个请求方法,可以用AJAX调用的结果更新表单字段的值——到目前为止,效果不错。但是,在检查表单字段时,会显示:Javascript 使用js更新表单字段,但未显示在提交的数据中,javascript,ajax,forms,cakephp,Javascript,Ajax,Forms,Cakephp,通过在CakePHP2.0中使用JsHelper进行实验,我得到了一个请求方法,可以用AJAX调用的结果更新表单字段的值——到目前为止,效果不错。但是,在检查表单字段时,会显示: <input type="hidden" id="JobsPartUnitcost" name="data[JobsPart][unitcost]">5.55</input> 下面是AJAX代码 $this->Js->get('#JobsPartPartId')->event
<input type="hidden" id="JobsPartUnitcost" name="data[JobsPart][unitcost]">5.55</input>
下面是AJAX代码
$this->Js->get('#JobsPartPartId')->event('change',
$this->Js->request(
array(
'controller'=>'JobsParts',
'action'=>'getPart'
),
array(
'update'=>'#JobsPartUnitcost',
'async' => true,
'method' => 'post',
'dataExpression'=>true,
'data'=> $this->Js->serializeForm(array(
'isForm' => false,
'inline' => true
))
)
)
);
您需要设置值属性:
<input type="hidden" value="YOUR VALUE HERE" name="data[Etc][field]" />
您不需要在输入标记中包装值。您需要设置值属性:
<input type="hidden" value="YOUR VALUE HERE" name="data[Etc][field]" />
您没有在输入标记中包装值。确定。我找到了一个解决办法,似乎没有其他人找到直接的解决办法
在我的静态视图中,输入字段所在的位置就是
。我的Ajax调用现在更新“#part
”,我的动态视图(由控制器Ajax操作调用的视图)现在输出整个字段-
。很难看,但很管用。好的。我找到了一个解决办法,似乎没有其他人找到直接的解决办法
$this->Js->get('#JobsPartPartId')->event('change',
$this->Js->request(
array(
'controller'=>'JobsParts',
'action'=>'getPart'
),
array(
'success'=>'$("#JobsPartUnitcost").val(data)',
'async' => true,
'method' => 'post',
'dataExpression'=>true,
'data'=> $this->Js->serializeForm(array(
'isForm' => false,
'inline' => true
))
)
)
在我的静态视图中,输入字段所在的位置就是
。我的Ajax调用现在更新“#part
”,我的动态视图(由控制器Ajax操作调用的视图)现在输出整个字段-
。虽然很难看,但很管用
$this->Js->get('#JobsPartPartId')->event('change',
$this->Js->request(
array(
'controller'=>'JobsParts',
'action'=>'getPart'
),
array(
'success'=>'$("#JobsPartUnitcost").val(data)',
'async' => true,
'method' => 'post',
'dataExpression'=>true,
'data'=> $this->Js->serializeForm(array(
'isForm' => false,
'inline' => true
))
)
)
))
)) 你是如何从隐藏中获取值的,你能通过ajax帖子的代码吗?复制/粘贴子问题可能与浏览器如何显示页面源有关-大多数浏览器(不能特别与safari对话)在执行“查看源代码”时会向你显示下载的原始页面源代码,而不是“当前状态”源代码。如果没有更多的信息,你就不能回答另一个问题了。你可以发布设置表单的JS,并转储发送到服务器的内容吗?好的。我已经找到了一个解决方法,但除非其他人找不到,否则我不会将其作为答案发布。在我的静态视图中,我现在只知道输入字段的位置。我的Ajax调用现在更新了“#part”,我的动态视图(由控制器Ajax操作调用的视图)现在输出整个字段-。难看但它能工作。你是如何从隐藏中获得值的,你能通过ajax帖子的代码吗?复制/粘贴子问题可能与浏览器如何显示页面源有关-大多数浏览器(不能特别与safari对话)在你进行搜索时会显示下载的原始页面源,而不是“当前状态”源“查看源“。如果没有更多信息,就不能回答另一个问题-发布设置表单的JS,并转储发送到服务器的内容?好的。我已经找到了一个解决方法,但除非其他人找不到,否则我不会将其作为答案发布。在我的静态视图中,我现在只知道输入字段的位置。我的Ajax调用现在更新了“#part”,我的动态视图(由控制器Ajax操作调用的视图)现在输出整个字段-。难看但它可以工作。将值包装为
value
将在浏览器中作为值呈现,因为它将其视为传统标记。我也这么认为。因此,根据我现在展示的代码,我将如何做到这一点?您如何生成隐藏的输入字段?您需要使用
该值是在页面加载后通过Ajax调用生成的(请参见编辑)。”值“=>”valuehere“不会有什么区别(会吗?)。将值包装为value
将在浏览器中作为值呈现,因为它将其视为传统标记。我也这么认为。因此,根据我现在展示的代码,我将如何做到这一点?您如何生成隐藏的输入字段?您需要使用
该值是在页面加载后通过Ajax调用生成的(请参见编辑)。”value'=>“valuehere”不会有什么区别(会吗?)。你注意到这行了吗成功“=>”$(“#作业成本”).val(数据)”,你注意到这一行了吗成功“=>”$(“#作业成本”).val(数据),