Проверить заполнено поле или нет (web)

Тема в разделе "Lotus - Программирование", создана пользователем Sasha*, 29 фев 2008.

  1. Sasha*

    Sasha* Гость

    Подскажите , пожалуйста, как проверить при сохранении документа заполнено поле или нет и вывести сообщение?

    В лотусе я делаю следующим образом:
    Код (Text):
    @If(@IsDocBeingSaved;
    @If (@Trim(FIELD)= ""; @Failure("Поле 'FIELD', является полем обязательным для ввода."); @Success); @True)
    Под Web данное сообщение появляется на новой странице, а не как в Lotus.

    Подскажите как это лучше сделать под веб.
     
  2. Гость

    на событие QuerySave для формы:

    Sub Querysave(Source As Notesuidocument, Continue As Variant)
    If Source.Document.GetItemValue("FIELDNAME")(0)="" Then
    Msgbox("вы не заполнили поле FIELD")
    Continue=False
    End If
    End Sub

    Оо, извините, опять промазал, надо внимательнее читать пост ))
     
  3. Sasha*

    Sasha* Гость

    Не вывело ни какого сообщения.
    Если я не ошибаюсь то, Msgbox- под веб не работает.
     
  4. Гость

    Ну а Java Script чем вам не угодил ?

    Насчет предыдцщего совета я протупил, такой скрипт действительно работаер только в лотусе, я просто проглядел проблему )) Ну а ява скрипт на WebQuerySave вам должен подойти

    Тьфу, опять приношу извинения WebQuerySave зхдесь ни при чем
     
  5. Sasha*

    Sasha* Гость


    Скажите , пожалуйста, как с помощью явы добраться до поля и проверить его содержимое.

    Я с Java Script практически не работала. :unsure:
     
  6. dmytro.pastovenskyi

    dmytro.pastovenskyi Гость

    ну вы бы для приличия сначала в гугл глянули :unsure:

    if(document.forms[0].fldname.value == '') {
    alert('aaaalarm !')
    }

    такого рода...
     
  7. Sasha*

    Sasha* Гость

    Спасибо, все получилось!
    +1
    Если у Вас знаете к-н хорошие источники по JAVA Script поделитеть пожалуйста. :unsure:
     
  8. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    например, можно сделать кнопку "Сохранить" (@Command([FileSave])) типа shared action поместить ее на форму, затем открыть форму в браузере, перейти в режим просмотра кода, найти там код описывающий обработку кнопки (_doClick) и запомнить указатель на кнопку что-то типа _doClick('C32573EC002D21F7.52c0655fb0b53066c32573fe003a10cf/$V5ACTIONS/0.C4', this, null)
    затем убрать кнопку с формы и создать на форме кнопку, используя Pass-Thru HTML <input type="button" value="Сохранить" onClick="saveDoc()"

    после создать необходимые JS-функции и описать их в JS Header формы
     
  9. dmytro.pastovenskyi

    dmytro.pastovenskyi Гость

    google чем плох? Ж)
     
  10. Sasha*

    Sasha* Гость

    Еще вопроси:

    Как прверить заполнено или нет поле типа: DialogList? (или равняется оно определенному значению или нет)
     
  11. Sandr

    Sandr Гость

    Аналогично обычному полю.. у инпута типа select тоже есть value :)

    ЗЫ: Старайтесь не использовать консрукцию типа document.forms[0].field.value, лучше так:
    document.getElementById('fieldName').value
     
  12. Гость

    Здесь особый случай. Делай так:

    if (form.elements[1].options[form.elements[1].selectedIndex].text=='текст') {
    alert('есть контакт')}


    Прошу прощения за индексы..Можно просто так:

    if (form.fieldname.options[form.fieldname.selectedIndex].text=='4') {
    alert('есть контакт')}
     
  13. Sasha*

    Sasha* Гость

    Воспользовалась Вашим советом использую:
    Код (Text):
     name=document.getElementById('FieldTypeDL').value
    alert(name.options[name.selectedIndex].text)
    Только другая проблема возникла , после появления диалог обновляются поля, как с этим бороться?
     
  14. Sandr

    Sandr Гость

    О каком диалоге речь?
    Если имеется ввиду выбор значения в Selecte, то убирите галку "Refresh document on choise" или что-то такое...

    Ого, не делайте так никогда! Привязыватся к штуке типа C32573EC002D21F7.52c0655fb0b53066c32573fe003a10cf большая ошибка.
    Лучший способ - на кнопке "Сохранить" использовать JavaScript, делат ьпроверку JavaScriptом и, в случае необходимости сохранить, делать так: document.getElementById('SaveButton').click();
    Где SaveButton - id кнопки, на которую повешана собака @Command([FileSave]), кнопке на последней вкладке сказать Style = "display:none".
     
  15. Sasha*

    Sasha* Гость

    Я с помощью alert() выводила сообщение. После нажатия на кнопку "Ок" обновлялся весь документ. Я уже это исправила, ошибка была в моем коде.

    Сейчас столкнулась другой проблемой:
    Если поле скрыто то getElementById('Скрытое поле') возвращает ошибку - ... has no properties

    Подскажите, пожалуйста, как можно это исправить?
     
  16. Sandr

    Sandr Гость

    Sasha*
    1. Генерируйте HTML дял всех полей (это свойство формы, 2-я закладка).
    2. Если надо скрыть поле в ВЕБе, а генерить HTML для всех полей не хочется, то не скрывайте поля средствами лотуса, а на последней закладке свойства поля, в атрибуте style напишите display:none
     
  17. Sasha*

    Sasha* Гость

    Я генерирую HTML для всех полей, но код на скрытом поле ломается.

    Мне нужно скрывать поле при определенных условиях.

    Например, если значение в поле TestField="Значение".
    Как скрыть поле в таком случае не средствами лотус?
     
  18. Sandr

    Sandr Гость

    Рисуйте div вокруг поля.
    <div style="display:computet value"> ваше поле </div>
    computet value вычисляйте так

    Код (Text):
    @if(TestField="Значение";"none";"")
    естесственно, что теги дива должны быть отмечены как HTML на форме
     
Загрузка...

Поделиться этой страницей