2014-10-17 6 views
0

Я создаю забитый баллотироваться, чтобы забить представленные конкурсные видео. Я использую одну и ту же форму HTML для всех видеозаписей. Единственными полями, которые динамически обновляются с помощью java-скрипта, являются: имя судьи и имя участника. Моя проблема заключается в том, что значение, которое я настроил с помощью java-скрипта, отображается в самой форме, но не записывается в файл csv.установить значение ввода текста с помощью Javascript

Вот мой 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> 

Мой ява скрипт для установки значения формы:

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; 
    } 

вар divName = 'Contestant1'; - это будет удалено, как только я выясню, почему имя судьи настроено и отображается в форме без проблем, но когда я ввожу все баллы и нажимаю кнопку «отправить», вся форма записывается в файл csv, за исключением одного value (form_judge), который был задан динамически. Кстати, я пытался использовать getElementById insted из oFormElement, результат тот же. Я могу видеть это в форме, но он записывает только слово «судья» в файл csv, а не фактическое имя. Что мне не хватает? Ваша помощь очень ценится.

ответ

0

я не могу вполне понять, что ваш Javascript делает, потому что есть несколько ошибок в нем:

function showBallotForm(divName) { 
    var divName = 'Contestant1'; 

Параметр divName никогда не используется, так как он немедленно переписан?

document.getElementById(divName).style.display=''; 

Не знаю, что вы хотели здесь, вы хотите отобразить скрытый ввод?

var selectjudgeName = document.getElementById("judgeName"); 

Там нет элемента с «judgeName» ид на вашем HTML, так что это не будет работать, я полагаю, вы не вставить полный код, то

oFormObject = document.forms['ballot1']; 
oFormElement = oFormObject.elements['form_judge']; 

Хорошо, но вы могли бы сделать это просто с помощью document.getElementById ("form_judge")

oFormElement.value = selectjudgeName.options[selectjudgeName.selectedIndex].value; 

Но вот ваша ошибка. Вы не можете установить значение для выбора. Я вижу, что объект является входом, но это странно, поскольку я даже не вижу, откуда взялось selectJudgeName! Данные, которые отправляются в форме, это selectIndex, а не значение. Так что вы хотите, чтобы узнать, какой вариант вы хотите, и указать на нее что-то вроде этого:

oFormElement.selectedIndex = (the index of the option you want) 

Если вы не знаете индекс, вам придется искать его на oFormElementobject, просто сделать для какой из вариантов имеет значение, которое вы хотите, и когда вы его найдете, установите это как selectedIndex и выйдите из него.

Кроме того, что представляет собой javascript, который вы назвали в действии, вы уверены, что отправляет правильные данные?

Смежные вопросы