使用javascript更改表单输入值
Change form input value with javascript
我正在尝试更改隐藏表单的输入值,以更新数据库中游戏的分数。
我在显示和玩游戏的php页面上有这个表单代码。
<form id ="recordForm" method="POST" action="updatePHP.php">
<input type='hidden' name="record" id='record' value='' />
</form>
我试图用这个javascript更改隐藏输入字段的值。这是在控制游戏的单独的javascript文件中。
function postPHP(newRecord){
alert("POST TO PHP"); //test to make sure I am calling this function
alert (newRecord); //alerts the correct value
var elem = document.getElementById('record');
elem.value = 12;
// document.getElementById('record').value = newRecord;
// document.getElementById('recordForm').submit();
};
关于这个话题有很多话题,但我就是弄不清楚自己做错了什么。有什么建议吗?
您应该尝试
elem.value = newRecord;
我测试过,你的JS函数应该是这样工作的,比你已经拥有的更少。我删除了提醒,因为你不再需要它们,并留下你的评论。这意味着您的JS函数不是问题所在。
function postPHP(newRecord)
{
document.getElementById('record').value = newRecord;
document.getElementById('recordForm').submit();
};
调用JS函数时不要忘记发送参数,我用按钮完成了
<button onClick="postPHP('14')">Change</button>
由于JS函数在一个单独的文件中,请不要忘记将其包含在调用函数的文件中
<head>
<script type="text/javascript" src="PATH/exampleName.js"></script>
</head>
根据您的需求替换上述标签的src
最后但同样重要的是,通过调用print_r方法来检查您的updatePHP.php
print_r($_POST);
所有这些都应该使技巧
感谢您的建议!这是我有史以来的第一个问题,我会看看所有的问题,看看我是否能解决。
这就是我调用postPHP:的地方
function checkScore(score, record) {
alert('Score= ' + score);
alert ('Record= '+ record);
if(score < record || record === 0){
alert ("NEW RECORD"); //this alert is displayed when needed
postPHP(score);
}
};
当用户将目标板条箱移回起始位置时,调用checkScore,并执行以下语句
if (this.hasWon()) {
var finalScore = this.getScore();
var record = this.getRecord();
checkScore(finalScore, record);
return ret; //moving not allowed
}
那里使用了一些访问方法。
//access methods
Board.prototype.hasWon = function() {
return state === 1;
};
Board.prototype.getScore = function() {
return score;
};
Board.prototype.getWt = function(r, c) {
return b[r][c];
};
Board.prototype.getData = function() {
return {"bobR": bobR, "bobC": bobC, "bobDir": bobDir,
"tgtR": tgtR, "tgtC": tgtC,
"startC": startC, "n": n};
};
Board.prototype.getRecord = function(){
var s = "" + window.location;
var ampIdx = "" + s.indexOf("&");
ampIdx = parseInt(ampIdx);
ampIdx = ampIdx + 7;
var record = "" + s.substring(ampIdx);
//alert("Puzzle Record= " + record);
record = parseInt(record);
return record;
}
;
我确实包含了javascript。我确实在HTML的正文中称过它一次,出于某种原因,当它包含在头部时,它不能正确显示游戏。
再次感谢您的帮助!我会让你知道我的工作成果!
这就是我要做的。
function postPHP(newRecord, seed) {
alert("POST TO PHP");
var inner = "<input type='hidden' name='record' id='record' value=" + newRecord + " >"+
"<input type='hidden' name='seed' id='seed' value=" + seed + " >";
document.getElementById('recordForm').innerHTML = inner;
document.getElementById('recordForm').submit();
};
再次感谢您的帮助,我只是不知道为什么第一种方法不起作用。这是我第一次尝试PHP和javascript。
相关文章:
- Nodejs服务器在解析之前生成输入表单
- 如何创建打开警报框的输入表单
- JavaScript onChange 事件侦听器对输入表单不起作用
- 如何在 OnKeyPress 事件后获取输入表单元素的值
- 单输入表单 - 特殊情况 |停止表单提交
- 需要输入表单验证
- 如何在谷歌图表中使用输入表单值
- 使用jquery可交换地更改两个html输入表单值
- 当从jqueryajax调用输入表单时,它不起作用
- 控制器作为搜索输入表单的语法
- 删除带有按钮的输入表单失败
- 验证带有2个小数点的浮点形式的输入表单
- AngularJS:输入表单在分部中不起作用
- 如何从php中的输入表单调用Javascript函数,以更改HTML
- 输入表单中的Sharepoint javascript
- 当点击输入表单时,为Raphael制作的对象添加光晕
- 当用户将数据输入表单时要知道的事件
- 保存输入表单后ImageMap颜色更改
- 链接输入表单中的填充脚本
- 有关多个输入表单验证的问题