Hi
Ich habe ein Problem mit meiner Suchfunktion.
Mit Hilfe von Javascript und den Formulardaten wird die action des Formulars angepasst, danach sollte es abschickt werden.
Doch nun gibt mir die Fehlerkonsole immer folgenden Fehler aus:
Ich habe bereits mehrere Stunden gesucht, aber auf vielen Seiten werden nur Probleme wegen eines Elements mit dem Namen "submit" geschildert...
Bei mir hat kein Element diesen Namen.
Hier das Formular:
und hier das Javascript:
Vielen Dank im voraus!
Ich habe ein Problem mit meiner Suchfunktion.
Mit Hilfe von Javascript und den Formulardaten wird die action des Formulars angepasst, danach sollte es abschickt werden.
Doch nun gibt mir die Fehlerkonsole immer folgenden Fehler aus:
Code:
Fehler: domForm.submit is not a function
Quelldatei: http://localhost:8180/author/docroot/aseintra/js/search.js
Zeile: 28
Ich habe bereits mehrere Stunden gesucht, aber auf vielen Seiten werden nur Probleme wegen eines Elements mit dem Namen "submit" geschildert...
Bei mir hat kein Element diesen Namen.
Hier das Formular:
HTML:
<jsp:root version="1.2" xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:fn="urn:jsptld:http://java.sun.com/jsp/jstl/functions">
<div id="searchBoxMain">
<form method="post" id="searchForm" name="searchForm" action="javascript:submitSearchForm(document.getElementById('searchForm'), 'radio');">
<table cellspacing="0" cellpadding="0">
<tr>
<td>
<label for="query">Such<u>e</u>n: </label>
</td>
<td>
<input size="27" id="query" name="query" value="${fn:escapeXml(param.query)}" accesskey="e" />
</td>
</tr>
<tr>
<td>
</td>
<td colspan="2">
<input type="radio" name="repository" id="repository" value="site" />Intranet
<input type="radio" name="repository" id="repository" value="phonebook" checked="checked"/>Telefon
</td>
<td>
<input type="submit" name="search" value="Los" />
</td>
</tr>
</table>
</form>
</div>
</jsp:root>
und hier das Javascript:
Code:
/**
* Verarbeitungsfunktion fuer Suchformular.
*/
/**
* Passt den Action-Path des Suchformulars an.
* @param form Formular Objekt (DOM-Element)
* @return void
*/
function submitSearchForm(domForm, type) {
var domSelectRepository = document.getElementById('repository');
var repository = domSelectRepository.value;
var domInputQuery = document.getElementById('query');
var query = domInputQuery.value;
var checked = domInputQuery.checked;
if(type == 'radio')
{
var chosen = GetSelectedItem();
}else{
var chosen = repository;
}
switch(chosen) {
case 'phonebook':
window.open('http://localhost:8180/apps/telefonverz/small_telefonverz.php?telid=' + query, '_self');
break;
case 'site':
domForm.action = '/' + getContextPath() + 'Intranet/search.html?search=search';
domForm.submit();
break;
case 'problem':
domForm.action = '/' + getContextPath() + 'Intranet/problemSearch.html?search=search';
domForm.submit();
break;
}
}
/**
* Gibt den per radio Button ausgewählten Wert zurück.
* @return chosen
*/
function GetSelectedItem() {
chosen = ""
len = document.searchForm.repository.length
for (i = 0; i <len; i++) {
if (document.searchForm.repository[i].checked) {
chosen = document.searchForm.repository[i].value
}
}
return chosen;
}
/**
* Gibt den Servlet-Context-Path zurueck.
* @return Servlet-Context-Path
*/
function getContextPath() {
var contextPath = location.href;
contextPath = contextPath.substr(7);
contextPath = contextPath.substr(contextPath.indexOf('/')+1);
contextPath = contextPath.substr(0, contextPath.indexOf('/')+1);
return contextPath;
}
Vielen Dank im voraus!