Как правило, я люблю обрезать входные поля. Меняет ли условие if на
document.getElementById('field1').value == '' to
document.getElementById('field1').value.trim() == ''
Помощь вообще?
Кроме того, чтобы повторить то, что предложил Дэвид, ваш исходный код выглядит так:
<textarea name="field1" id="field1" rows="2" cols="39"><? echo $field1; ?></textarea>
а не
<textarea name="field1" id="field1" rows="2" cols="39"> <? echo $field1; ?> </textarea>
Заметили пробелы?