使用javascript更改表单输入值

Change form input value with javascript

本文关键字:输入 表单 javascript 使用      更新时间:2024-06-12

我正在尝试更改隐藏表单的输入值,以更新数据库中游戏的分数。

我在显示和玩游戏的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。