【发布时间】:2014-01-27 11:13:29
【问题描述】:
我在 PHP 中有以下代码:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<?php $value = $_POST['Field1'] ?>
<input type="text" id="Field1" name="Field1" value="<?php echo $value ?>">
<input type="button" value="ButtonValue" onclick="SubmitFunction()">
</form>
还有一些 JavaScript 函数:
<script>
function SubmitFunction(){
//... do some stuff here
//But here I need to assign value to Field1:
document.getElementById("Field1").setAttribute("value", "Some value");
document.form.submit();
}
</script>
当这段代码第一次加载时,它说有未定义的索引 Field1。完全正确。
但是当我使用 SubmitFunction() 为该字段设置属性值时,页面重新加载并且仍然找不到 Field1 !这是我的问题。
我注意到在纯 HTML 代码中,初始表单如下所示:
<form>
<input type="text" id="Field1" name="Field1" value>
<input type="button" value="ButtonValue" onclick="SubmitFunction()">
</form>
我的问题在哪里(除了大脑)?
【问题讨论】:
-
你的浏览器是什么我在FF26中测试它工作
-
我的是 Google Chrome 32
-
AAAAHm...对不起,我很烂。在我最后一个无用的答案(我删除它)中,我告诉你如何防止提交。但是你需要开火……我的错。但是...我已在本地粘贴您的代码,它工作正常。提交表单只有一件事我需要在
document.forms[0].submit();中更改您的document.form.submit();,但是当页面重新加载时,我发现“某些值”之类的值。 -
是的,它是这样工作的。但是我发现了另一个问题。 setAttribute("value", "Some value") 设置通过 AJAX 回调函数获取的值。它只是返回这个值。而已。如果在我的项目中我只是提交表单而不填写此值,它会按预期工作。但是,如果我通过 setAttribute 设置值 - 会失败。好吧,我可能需要检查我的代码并找出这种不当行为。
标签: javascript php setattribute