使用Javascript设置文本输入值

settin up a text input value with Javascript

本文关键字:输入 置文本 Javascript 使用      更新时间:2023-09-26

我正在创建一个评分投票,为提交的比赛视频打分。我对所有视频都使用相同的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">&nbsp;&nbsp;&nbsp;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,您确定它发送的是正确的数据吗?