当我单击yes或no按钮时,我想将db中的字段更新为1或0。
<td> <input type="button" onClick="save();" value="Yes">
<input type="button" onClick="save();" value="No">
</td>此代码将视图页中的按钮显示为yes和no。现在我应该怎么做,以保存在数据库中,同时点击是按钮?
<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>发布于 2015-12-14 13:58:35
在cakephp文件中,您可以获取该值并将其更新到数据库。希望你现在能有任何方法更新它。即使在save()方法中也可以做到这一点。
/please将输入更改为任何唯一的选择器,为button/提供任何id或类
$("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');
}});
})发布于 2015-12-14 14:00:49
onclick函数应该有一个参数来表明提交的是哪一个答案。
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
<?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倍
发布于 2015-12-14 14:08:46
为此,请使用jQuery和jquery-ajax。
HTML:
<td> <input type="button" onClick="save(this);" value="Yes">
<input type="button" onClick="save(this);" value="No">
</td>JS:
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']获取提交的值
https://stackoverflow.com/questions/34260544
复制相似问题