使用Javascript设置文本输入值
settin up a text input value with Javascript
我正在创建一个评分投票,为提交的比赛视频打分。我对所有视频都使用相同的HTML表单来评分。使用java脚本动态更新的字段只有:法官姓名和参赛者姓名。我的问题是,我用java脚本设置的值显示在表单本身上,但没有记录在csv文件中。
这是我的HTML:选择您的姓名1号法官2号法官3号法官4号法官5号法官6号法官根据此选项选择,他们将获得一组尚未完成评分的视频,并显示嵌入视频的第一个评分表。最初,它们隐藏在页面上。
<form id="ballot1" action="javascript: sendBallot()" method="post" enctype="multipart/form-data">
<table border="0" style="border-collapse: collapse" width="100%" id="table3">
<tr>
<td><input type="hidden" name="Contestant" value="Contestant1"></td>
<td width="78%"><input name="form_judge" id="form_judge" value=""></td>
</tr>
<tr>
<td><p><span style="font-size:1em;"><strong>1. Efficacy of Practice - 50%</strong></span></p></td>
</tr>
<tr>
<td><label class="ballot"> a. Video explores relevant subject matter </label>
</td>
<td>
<select class="ballot" id="one_a_score" name="one_a_score" valign="bottom">
<option value="0" selected>Select Score</option>
<option value="2">Poor</option>
<option value="4">Below average</option>
<option value="6">Average</option>
<option value="8">Good</option>
<option value="10">Excellent</option>
</select>
</td>
</tr>
</table>
<div class="buttons">
<input type="submit" name="submit" value="Submit Form" id="submit"/>
<input type="reset" value="Reset" id="resetBtn"/>
</div>
我的java脚本来设置表单值:
function showBallotForm(divName) {
var divName = 'Contestant1';
document.getElementById(divName).style.display='';
var selectjudgeName = document.getElementById("judgeName");
oFormObject = document.forms['ballot1'];
oFormElement = oFormObject.elements['form_judge'];
oFormElement.value = selectjudgeName.options[selectjudgeName.selectedIndex].value;
}
vardivName="参赛者1";-一旦我弄清楚为什么要设置评委名称并显示在表格上,这个就会被删除,但当我输入所有分数并点击"提交"按钮时,除了一个动态设置的值(form_judge)外,整个表格都会记录在csv文件中。顺便说一句,我尝试使用getElementById代替oFormElement,结果是一样的。我可以在表格上看到它,但它在csv文件中只记录了"法官"一词,而不是实际名称。我错过了什么?非常感谢你的帮助。
我不能完全理解您的javascript的作用,因为其中有几个错误:
function showBallotForm(divName) {
var divName = 'Contestant1';
divName参数从未使用过,因为它是立即重写的?
document.getElementById(divName).style.display='';
不知道你在这里想要什么,你想显示隐藏的输入吗?
var selectjudgeName = document.getElementById("judgeName");
你的HTML上没有带有"judgeName"id的元素,所以这不起作用,我想你没有粘贴完整的代码,然后
oFormObject = document.forms['ballot1'];
oFormElement = oFormObject.elements['form_judge'];
好的,但您可以通过简单地使用document.getElementByid("form_judge")来完成这一操作
oFormElement.value = selectjudgeName.options[selectjudgeName.selectedIndex].value;
但这是你的错误。不能在选择上设置值。我看到这个对象是一个输入,但这很奇怪,因为我甚至看不到selectJudgeName来自哪里!在表单上发送的数据是selectedIndex,而不是值。所以你想要的是找到你想要的选项,并指向它,比如这样:
oFormElement.selectedIndex = (the index of the option you want)
如果你不知道索引,你就必须在oFormElementobject上寻找它,只需进行for循环搜索哪个选项具有你想要的值,当你找到它时,将其设置为selectedIndex并中断。
此外,提交的是您在操作中命名的javascript,您确定它发送的是正确的数据吗?
- 正确输入的文本会更改图像
- 带静态字符e输入的文本框数字和带javascript的负整数
- 文本输入与文本区域
- 如何将表格中的文本添加到使用按钮输入的文本区域
- 使用jQuery重置文本,同时存在AJAX调用
- 不带按钮的引导输入组文本占用一半空间
- 不使用自定义CSS或HTML(使用框架方法)的角度材质文本输入或文本区域标签大小
- 不允许输入或聚焦的输入类型文本
- HTML.如何检查用户是否在表单中输入了文本
- 正确输入的文本会更改图像
- 根据输入禁用文本框
- 获取innerHTML,但输入和文本区域都为空
- 如何在没有表单提交、没有js、没有jquery和没有ajax的情况下将输入的文本框值存储到php变量中
- JQuery/JavaScript - 突出显示输入或文本区域中的一部分文本
- 如何使用 Angularjs 使流式处理更改输入中输入的文本
- 跳过用户输入的文本字符串中的特殊字符,并在 Javascript 中的每个单词后添加连字符
- 在里面输入新文本后更新文本区域内容的值
- 如何将删除标记替换为输入类型文本
- 我可以重置文本输入而不清除它吗
- 输入后重置文本区域