我正在尝试将表单提交到其他位置,具体取决于哪个(两个)表单字段已归档。
当两个字段都有值但当只有一个if字段有值时,它始终提交给suppliers / category / URL。这是我的代码。
$('#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;
});
任何帮助将不胜感激
答案 0 :(得分:1)
$('#suppliersForm').submit(function() {
var catVal = $('#category').val();
var keywordVal = $('#keywords').val();
var searchString = "";
if( catVal != "" && keywordVal !="" )
{
searchString = 'http://<cfoutput>#cgi.server_name#</cfoutput>/suppliers/searchresults/' + catVal + '/' + keywordVal;
}
else if( catVal != "" )
{
searchString = 'http://<cfoutput>#cgi.server_name#</cfoutput>/suppliers/category/' + catVal;
}
else if( keywordVal != "" )
{
searchString = 'http://<cfoutput>#cgi.server_name#</cfoutput>/suppliers/keywords/' + keywordVal;
}
window.location.replace(searchString);
return false;
});
答案 1 :(得分:0)
如果符合以下条件,则删除对其他两项检查:
else if( $('#category').val() || $('#keywords').val() ) --> else if( $('#category').val() )
else if( $('#keywords').val() || $('#category').val() ) --> else if( $('#keywords').val() )
答案 2 :(得分:0)
基本上
之间没有区别else if( $('#category').val() || $('#keywords').val() )
和
else if( $('#keywords').val() || $('#category').val() )
因此,如果至少有一个字段包含某个值,则执行其他第一个字段。
答案 3 :(得分:0)
jQuery('#suppliersForm').click(function(event){
var searchString = '';
var catVal = $('#category').val();
var keywordVal = $('#keywords').val();
if( catVal.length > 0 && keywordVal.length > 0 ){
searchString = 'http://<cfoutput>#cgi.server_name#</cfoutput>/suppliers/searchresults/' + catVal + '/' + keywordVal;
} else if( catVal.length > 0 ) {
searchString = 'http://<cfoutput>#cgi.server_name#</cfoutput>/suppliers/category/' + catVal;
} else if( keywordVal.length > 0 ) {
searchString = 'http://<cfoutput>#cgi.server_name#</cfoutput>/suppliers/keywords/' + keywordVal
} else {
alert( 'Please enter at least on value' );
}
window.location.replace(searchString);
});
答案 4 :(得分:0)
我可能会这样简洁得多:
var catVal = $('#category').val()
, keywordVal = $('#keywords').val()
, searchString = 'http://<cfoutput>#cgi.server_name#</cfoutput>/suppliers/';
if( catVal && keywordVal )
searchString += ('searchresults/' + catVal + '/' + keywordVal);
else if( catVal )
searchString += ('category/' + catVal);
else if( keywordVal )
searchString += ('keyword/' + keywordVal);
else return;
window.location.replace(searchString);
return false;