所以我想知道如果以下是合法的,也許它不工作,由於語法錯誤。簡單驗證單個搜索字段上的四條規則。感謝您對優雅和啓發性解決方案的任何幫助!javascript jquery裏面的語句準備好了嗎?
$(function() {
$('input.text').focus(function() {
$(this).removeClass('noSubmitX');
$('.enterX').removeClass('now').text(orig);
}); //reset error status
var orig = "Enter the title you want.";
var msg1 = "Title must be between 3 and 63 characters.";
var msg2 = "Title cannot begin or end with a hypen";
var msg3 = "Title cannot contain a hyphen at character positions 3 and 4";
$('form.xSearch').submit(function() {
var theSearch = $('input.text').val();
var xLong = $('input.text').val().length;
var firstx = (theSearch[0]);
var thirdx = (theSearch[2]);
var fourthx = (theSearch[3]);
var lastx = (theSearch[xLong - 1]);
try {
if (xLong < 2 || xLong > 62) {
throw "msg1";
}
else if (firstx == "-") || (lastx == "-") {
throw "msg2";
}
else if (thirdx == "-") && (fourthx == "-")
{
throw "msg3";
}
}
catch (er) {
if (er == 'msg1') {
$('input.text').addClass('noSubmitX');
$('.enterX').addClass('now').text('Title must be between 3 and 63 characters.');
}
if (er == 'msg2') {
$('input.text').addClass('noSubmitX');
$('.enterX').addClass('now').text('Title cannot begin or end with a hypen');
}
if (er == 'msg3') {
$('input.text').addClass('noSubmitX');
$('.enterX').addClass('now').text('Title cannot contain a hyphen at character positions 3 and 4');
}
}
});
});
當您嘗試運行它究竟會發生什麼?如果您想停止提交,您需要從提交處理程序返回false。 – nnnnnn
如果你看了這個問題,它清楚地表明它不會因爲語法錯誤而運行。 –
@Matthew Flaschen - 不,它說「可能因爲語法錯誤而無法工作?」,「不工作」幾乎可能意味着任何事情,包括跑步,但給出錯誤的結果。 (並且我確實指出了我認爲最可能發生的問題。) – nnnnnn