0

あなたの助けが必要です。

基本的にSQL演算子を決定するテキストボックスに入力された文字列を単純にチェックするjavascript関数を考え出す必要があります

例:

var field1 = document.getElementById('field1').value

var field2 = document.getElementById('field2').value

var field3 = document.getElementById('field3').value

function validate(textbox) {

var operator

if ('%' is the first character placed before and after the value) { then operator = LIKE }

else if ('%' is the first character placed before the value) { then operator = LIKE }

else if ('%' is the last character placed after the value) { then operator = LIKE }

else { operator equals "=" } //default

alert(operator)


}

実際の機能の例:

validate(field1)
4

2 に答える 2

1

次のことを試してください。

function validate(value) {
  var operator = '=';

  // Check for '%' at the beginning or ending of the value.
  if (value.length > 0 && (value[0] == '%' || value[value.length - 1] == '%')) {
    operator = 'LIKE';
  }

  alert(operator);
}

とはいえ、ターゲット ユーザーによっては、SQL 文字列の一致を理解する必要がなく、「一致の開始」、「一致の終了」、「どこでも一致」などの一連のラジオ ボタン オプションを含めた方が簡単な場合があります。構文。

例えば:

<input id="matchBeginning" type="radio" name="matchMode" value="beginning" />
<label for="matchBeginning">Match beginning of text</label>

<input id="matchEnding" type="radio" name="matchMode" value="ending" />
<label for="matchEnding">Match ending of text</label>

<input id="matchAnywhere" type="radio" name="matchMode" value="anywhere" />
<label for="matchAnywhere">Match anywhere in text</label>

<input id="matchExact" type="radio" name="matchMode" value="exact" />
<label for="matchExact">Match entire text</label>

<input id="field1" type="text" />

matchMode次に、値(つまり、"beginning"、"ending"、"anywhere"、または "exact") を検索語と共にサーバーに渡すことができます。 matchMode.

于 2013-05-08T15:49:30.160 に答える
0

これには正規表現を使用できます。%文字列に が含まれている場合、演算子は のように見えますLIKE。したがって、これを行うことができます:

var operator = "=";

//If the string starts with a % or ends with a %
//the operator is "LIKE"
if(/^%/.test(str) || /%$/.test(str)) {
   operator = "LIKE";
} 
于 2013-05-08T17:13:26.257 に答える