Noob à javascript etc. ici. Je suis un programmeur Java php/core chargé de maintenir un tas de code JS dans les JSP en utilisant Struts. Ce que je dois faire est simple, mais je ne peux pas trouver une solution facile. Étant donné l'extrait de code suivant pour un formulaire HTML struts'ed et une fonction de soumission JS, je dois modifier les données du champ de texte "requête" après que le bouton "Soumettre" est pressé, mais avant que les données soient soumises (collées sur l'URI de la page). Lorsque vous appuyez sur "submit", la page est rechargée avec? Search = whatever_was_typed_in_the_text_box ajouté à l'URL. J'ai besoin de modifier cette valeur: par exemple, une simple fonction de remplacement de caractère: si l'utilisateur tape "apple", une fonction remplaçant tous les caractères "a" par "b" ferait l'affaire, de sorte que lorsque "submit" est pressé avec "apple" dans le champ de texte, la page redirige vers (URL d'origine)? search = bpple.Soumission de formulaire JSP/Struts/JS: comment modifier les données de texte saisies avant leur soumission?
Je peux écrire la fonction de traitement de texte moi-même, (je connais assez JS pour cela au moins), mais je ne sais pas comment extraire l'entrée du formulaire et le modifier après avoir cliqué sur le bouton, mais avant soumission. J'ai essayé d'ajouter "document.forms [SEARCH_FORM_NAME] .query.value = replaceChars (document.forms [SEARCH_FORM_NAME] .query.value)" à la méthode JS "submitSearch", avant la ligne de soumission réelle (avec replaceChars comme manuscrit méthode simple de remplacement de caractères), mais n'a pas modifié les données soumises dans l'URL. J'ai aussi essayé document.getElementById ('query'). Value = ..., avec le même résultat. Comment puis-je modifier les données à partir du champ de texte dans le formulaire ci-dessous après avoir cliqué sur le bouton Soumettre, mais avant que le formulaire est soumis à l'adresse URL?
code Extrait:
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<head>
<script type="text/javascript" defer="defer">
var SEARCH_FORM_NAME = "searchForm";
function submitSearch() {
$("sort").value = "filePath";
$("dir").value = "asc";
document.forms[SEARCH_FORM_NAME].submit();
return false;
}
</script>
</head>
<html:form styleId="searchForm" action="/search" method="get" onsubmit="return submitSearch();">
<table width="100%">
<tr>
<td style="width:10%;"><tiles:insert page="/WEB-INF/tiles/logo.jsp" /></td>
<td class = "search-cell" style="width:10%; white-space:nowrap;">
<html:text property="query" styleId="query" size="50"/>
<html:submit onclick="return submitSearch();">
Search
</html:submit>
</td>
</tr>
</table>
Utilisez-vous le framework Prototype? –