#javascript
#javascript
Вопрос:
Я пытаюсь отправить форму с помощью javascript. Но всегда выдается ошибка «Невозможно вызвать метод отправки неопределенного» я перепроверил имя в форме, но это не сработало, я написал один образец HTML, чтобы просто проверить, работает ли этот подход, и он работал нормально. Пожалуйста, помогите мне в этом.
мой JSP :
<div id="Symptoms" style="display:none;">
<html:form id="ashutosh" method="POST" action="symptoms" >
<p></p>
<p>Enter/Choose ailment :
<html:select id="diselc" name="AuthoringForm" property="disease_name" size="1" onchange="javascript:formsubmit(this.formName);" >
<option selected="selected"> </option>
<option>Malaria</option>
<option>High Fever</option>
<option>Cholera</option>
<option>Diarrhoea</option>
</html:select></p>
<p>Choose ailment classification :
<html:select id="diselchild" name="AuthoringForm" property="diesclassifiaction" >
<option>High</option>
<option>Medium</option>
<option>Low</option>
</html:select>
<fieldset style="width: 381px; height: 126px; padding: 2">
<legend align="left"></legend>
Tick off patient context :
<html:radio value="Men" name="AuthoringForm" property="patient_context" disabled="false"/>
Men
<html:radio value="Womwen" name="AuthoringForm" property="patient_context" disabled="false"/>
Women
<p>
<html:radio value="Child" name="AuthoringForm" property="patient_context" disabled="false"/>
Child
<html:radio value="Al" name="AuthoringForm" property="patient_context" disabled="false"/>
All
</fieldset>
<p>Enter Pre Conditions</p>
<p><html:textarea rows="2" name="AuthoringForm" cols="20" property="patient_precondition" ></html:textarea>
<p>Must Have Symptoms :
May Have Symptoms :</p>
<p><html:textarea rows="2" name="AuthoringForm" cols="20" property="must_have_symptoms"></html:textarea>
<!-- <input type="submit" value="Submit" name="B2">-->
<html:textarea rows="2" name="AuthoringForm" cols="20" property="may_have_symptoms"></html:textarea>
<input type="submit" value="Submit" name="symptomsButton"><input type="reset" value="Reset" onclick="clear_form_elements(this.form);"></p>
</html:form>
</div>
мой javascript :
function formsubmit(value){
alert("i am just above the form submission" value);
document.forms["ashutosh"].submit();
alert("i am just after the form submission");
}
Ответ №1:
Ваша проблема в том, что у вас нет формы с именем ashutosh. У вас есть форма с идентификатором ashutosh, поэтому либо используйте:
document.getElementById('ashutosh').submit();
Или измените свой HTML-код на:
<form name="ashutosh" method="POST" action="symptoms" >
Комментарии:
1. может кто-нибудь сказать мне, почему это не работает с тегом <html:form > ??
2. Я понятия не имею, о чем этот тег. Когда я попробую это, это даже не будет работать на обычной HTML-странице. Это зависит от JSP или что-то в этом роде? Редактировать: по приведенным здесь фрагментам кода я думаю, вы просто неправильно поняли. HTML-теги не используют префикс HTML, как теги JSP.
3. Извините, я мало что знаю об этом. Правильно ли отображается форма при использовании этой библиотеки?
Ответ №2:
Это должно быть что-то вроде этого:
document.ashutosh.submit();
Комментарии:
1. Полагаться на браузер, предоставляющий глобальные переменные, так сложно … 🙂