如何获取用户的输入值并将其提交给ajax,然后提交给控制器?现在,在我的控制器中,它告诉我id在$_POST['id']中是一个未定义的索引
这个输入文本字段实际上在另一个表单中,有点像表单中的表单。
<?php echo $form->textField($model,'email',array('id'=>'email')); ?>
<?php echo $form->error($model,'email'); ?>
<?php echo CHtml::ajaxButton ( 'Request Code',
CHtml::normalizeUrl(array('site/requestResetCode', 'render'=>true),
array (
'type' => 'POST',
//'data'=> array('id'=> 'js:$("#ResetPasswordForm_email").val()'),
'data'=> array('id'=> 'js:$("#email").val()'),
'success'=>'function(data){
if(data.status == "sent")
bootbox.alert("Code is sent. Please check your email.");
else (data.status == "failed")
bootbox.alert("Request Failure");
}',
'error'=> 'function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}',
)
))
?>控制器:
public function actionRequestResetCode()
{
$id = $_POST['id'];
//stuff..发布于 2014-03-10 20:55:55
您的POST数组为空,因为没有发送值。您需要使javascript函数如下所示
<script type="text/javascript">
function getVal()
{
var value= $("#myEmail").attr('value');
alert(value);
return value;
}
</script>检查警报是否显示正确的值,然后删除此警报语句。如果它没有显示该值,那么您的文本字段的id就有问题。
如果你让它工作,那么就像这样使用它
'data'=> array('id'=> 'js:getVal()'),https://stackoverflow.com/questions/22290705
复制相似问题