首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取button的值并在单击时保存到db中

获取button的值并在单击时保存到db中
EN

Stack Overflow用户
提问于 2015-12-14 13:46:50
回答 3查看 3.1K关注 0票数 1

当我单击yes或no按钮时,我想将db中的字段更新为1或0。

代码语言:javascript
复制
<td>  <input type="button" onClick="save();" value="Yes">
     <input type="button" onClick="save();" value="No">
     </td>

此代码将视图页中的按钮显示为yes和no。现在我应该怎么做,以保存在数据库中,同时点击是按钮?

代码语言:javascript
复制
     <div class="bit-4 pad-small"  style="float:none;">
        <br>
        <br>
     <?php echo $this->Form->input('approve', array(
                              'type'=>'checkbox', 
                               'style' => 'float:left;',)
                                 ) ); ?>
           <span>required</span>
          </div>
EN

回答 3

Stack Overflow用户

发布于 2015-12-14 13:58:35

在cakephp文件中,您可以获取该值并将其更新到数据库。希望你现在能有任何方法更新它。即使在save()方法中也可以做到这一点。

/please将输入更改为任何唯一的选择器,为button/提供任何id或类

代码语言:javascript
复制
    $("input").click(function(){

        var val = $(this).val();

            $.ajax({url: "path_to_your_cake_php_file.php", 

                    type: 'post', // performing a POST request
                    data : {
                      inputValue : val // will be accessible in $_POST['inputValue']
                    },
                    dataType: 'json',
                success: function(result){
                    alert('value has been updated');
            }});

    })
票数 0
EN

Stack Overflow用户

发布于 2015-12-14 14:00:49

onclick函数应该有一个参数来表明提交的是哪一个答案。

代码语言:javascript
复制
function save(id)
{
    var id = id;
    switch(id)
    {
        case 1:
            var buttonValue = "Yes";
            break;
        case 2:
            var buttonValue = "No";
            break;
    }
    var formData = new FormData();
        formData.append("ButtonValue", buttonValue);
    var xmlHttp = new XMLHttpRequest();
        xmlHttp.onreadystatechange = function()
        {
            if(xmlHttp.readyState == 4 && xmlHttp.status == 200)
            {
                var array = xmlHttp.responseText;
                //in array you store results echoed from php script
            }
        } 
        xmlHttp.open("POST", "file.php");
        xmlHttp.send(formData);
}

file.php

代码语言:javascript
复制
<?php 
    $buttonValue = $_POST["ButtonValue"];
    $con = mysqli_connect("host", "name", "pass", "db");
        $res = mysqli_query($con, "Insert goes here");
        mysqli_close($con);    
?>

PS认为纯JavaScript比JQuery快近30倍

票数 0
EN

Stack Overflow用户

发布于 2015-12-14 14:08:46

为此,请使用jQuery和jquery-ajax。

HTML:

代码语言:javascript
复制
<td>  <input type="button" onClick="save(this);" value="Yes">
     <input type="button" onClick="save(this);" value="No">
     </td>

JS:

代码语言:javascript
复制
function save(elem){
     val = $(elem).val() == 'Yes' ? 1 : 0;
     $.ajax({
      type: "POST",
      url: Your_php_file_path,
      data: {button: val },
      success: function(data){
           //added 
       },
      dataType: json
     });

    }

在服务器端,你可以通过$_REQUEST['button']获取提交的值

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34260544

复制
相关文章

相似问题

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