2011-07-08 5 views
0

Имейте текстовое поле a и если оно заполнено, убедитесь, что текстовое поле b заполнено также при выполнении отправки и наоборот, если поле b заполнено, убедитесь, что в нем есть данные. Может ли это быть закодировано, чтобы проверить много текстовых полей, что если строка a текстовых полей проверяет данные, вторая строка текстовых полей также содержит данные в тех, которые имеет строка a. Все текстовые поля в строке a не нужно заполнять. Спасибо.Проверка текстового поля с помощью javascript

ответ

2

Ваш вопрос немного сложно понять; было бы полезно, если бы вы могли лучше объяснить, что вы на самом деле хотите. Вам не нужно иметь никаких условий; просто сделайте следующее:

<script> 
function checkForm() { 
    if (!isEmpty(document.myForm.checkA.value) 
     && !isEmpty(document.myForm.checkB.value)) 
     return true; 
    else 
     return false; 
} 

function isEmpty(text) { 
    return text.length == 0 || !text.match(/[^\s]/)) 
} 

</script> 

<form name="myForm" onSubmit="return checkForm();"> 
    <input name="textA" type="text" /> 
    <input name="textB" type="text" /> 
    <input type="submit" value="Submit!" /> 
</form> 
+0

Откуда появился метод magic * isEmpty *? – RobG

+0

Упс ... исправил это, я думаю. (Слишком много Qt!) –

+0

Хорошо, но каждый раз, когда кто-то делает это, я должен искать проклятую спецификацию HTML5, чтобы увидеть, если это какой-то новый метод неясного API или нет. :-) – RobG

1

Это должно быть просто, если вы используете массив для хранения ссылок на ваши текстовые поля. Например (от верхней части головы, так что это не будет 100% справа), скажем, у вас есть 5 через и 3 вниз:

var col = new Array(5); 
var row = new Array(3); 
col[0] = document.myForm.checkA1; 
col[1] = document.myForm.checkB1; 
// etc 

row[0] = col; 

col = new Array(5); 
col[0] = document.myForm.checkA2; 
col[1] = document.myForm.checkB2; 
// etc 

row[1] = col; 

col = new Array(5); 
col[0] = document.myForm.checkA3; 
col[1] = document.myForm.checkB3; 
// etc 

row[2] = col; 

Вы можете теперь цикл по массиву в row[0] и если вы найти, например, что row[0][2] есть текст, который вам нужно только проверить, что row[1][2] также имеет текст.

Смежные вопросы