Je suis en train de soumettre un formulaire à un autre endroit en fonction de la forme (de deux) champs ont été déposés dansJquery - opérateurs instruction if
Il travail lorsque les deux champs ont une valeur, mais quand seulement. un si le champ a une valeur qu'il soumet toujours aux fournisseurs/catégorie/URL. Voici mon code.
$('#suppliersForm').submit(function() {
catVal = $('#category').val()
keywordVal = $('#keywords').val()
if($('#category').val() && $('#keywords').val())
{
var searchString = 'http://<cfoutput>#cgi.server_name#</cfoutput>/suppliers/searchresults/' + catVal + '/' + keywordVal
window.location.replace(searchString);
}
else if($('#category').val() || $('#keywords').val())
{
var searchString = 'http://<cfoutput>#cgi.server_name#</cfoutput>/suppliers/category/' + catVal
window.location.replace(searchString);
}
else if($('#keywords').val() || $('#category').val())
{
var searchString = 'http://<cfoutput>#cgi.server_name#</cfoutput>/suppliers/keywords/' + keywordVal
window.location.replace(searchString);
}
return false;
});
Toute aide serait appréciée
Je pense que vous ne comprenez pas le && (AND) et || (OR) opérateurs . && s'exécute si les deux instructions sont vraies. || s'exécute quand une ou les deux déclarations sont vraies. Si un champ est laissé vide, le second si (fournisseurs/catégorie) sera toujours exécuté. En fait, la troisième fois, si jamais ne courra jamais. – Tim
votre droit, je n'ai pas entièrement compris ce que le || l'opérateur a fait. Y at-il un moyen de faire ce travail? – James
btw vous pouvez vérifier si la valeur catVal ou keywordVal est définie, alors vous ne devez pas obtenir $ ('# category'). Val() ou $ ('# keywords'). Val() dans chaque instruction if. btw ne pas oublier de fermer ce catVal = $ ('# category'). val() avec un; – Tim