首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过ajaxbutton获取输入文本域值之一

问如何通过ajaxbutton获取输入文本域值之一
EN

Stack Overflow用户
提问于 2014-03-10 09:35:29
回答 1查看 1.9K关注 0票数 0

如何获取用户的输入值并将其提交给ajax,然后提交给控制器?现在,在我的控制器中,它告诉我id在$_POST['id']中是一个未定义的索引

这个输入文本字段实际上在另一个表单中,有点像表单中的表单。

代码语言:javascript
复制
<?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);
                        }',
                )
            ))
        ?>

控制器:

代码语言:javascript
复制
public function actionRequestResetCode()
    {
        $id = $_POST['id'];
//stuff..
EN

回答 1

Stack Overflow用户

发布于 2014-03-10 20:55:55

您的POST数组为空,因为没有发送值。您需要使javascript函数如下所示

代码语言:javascript
复制
<script type="text/javascript">

    function getVal()
    { 
    var value= $("#myEmail").attr('value');
    alert(value);
    return value;

    }
    </script>

检查警报是否显示正确的值,然后删除此警报语句。如果它没有显示该值,那么您的文本字段的id就有问题。

如果你让它工作,那么就像这样使用它

代码语言:javascript
复制
 'data'=> array('id'=> 'js:getVal()'),
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22290705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档