javascript
  • html
  • validation
  • 2013-02-25 5 views 1 likes 
    1

    У меня есть форма, как:Submit Только если определенная кнопка нажата

    <form id='Contact' action="<?php echo $_SERVER['PHP_SELF']; ?>" method='post' enctype="multipart/form-data" accept-charset='UTF-8' style='background-color:#7FFF00; width: 781px'> 
    

    В этой форме, у меня есть 15 полей. Первые три «FirstName», «Title», «LastName» - это только три, необходимые для отправки формы.

    Форма имеет три кнопки. Один для удаления, создания и изменения.

    При нажатии кнопки «Создать» она должна проверять три поля и затем отправлять форму. Когда нажата кнопка «Удалить», она должна только подтвердить одно конкретное поле и затем отправить.

    Javascript:

    <script type="text/javascript"> 
    <!-- 
    function validateForm(Form, FieldName) 
    { 
        var Form = document.getElementById(Form); 
        var Elements = Form.elements; 
        var Field = Elements[FieldName].value; 
    
        if (Field == null || Field == "") 
        { 
         alert(FieldName + " must be filled out!"); 
         return false; 
        } 
        return true; 
    } 
    
    function SubmitForm(Form, DoSubmit) 
    { 
        if (DoSubmit) 
        { 
         document.getElementById(Form).submit(); 
        } 
    } 
    --> 
    </script> 
    

    Мои CreateButton:

    <input type='button' name='ContactInfo' value='Create' onClick="SubmitForm('Contact', validateForm('Contact', 'Title') && validateForm('Contact', 'FirstName') && validateForm('Contact', 'LastName'));" /> 
    

    Моя кнопка Delete:

    <input type='submit' name='ContactInfo' value='Delete' /> 
    

    Почему Создание кнопки не работают? Он проверяет необходимые поля, но не представляет/Post: S

    +1

    Вы пытались отладить свой код? – christopher

    +0

    Да. Он очищает форму и все остальное. Это просто не сообщение. Если я изменил тип кнопки, чтобы отправить тип, он будет опубликован, и я не смогу сохранить данные в форме. Мне нужно это, чтобы, если он проверяет, тогда он может опубликовать. Если он не прошел проверку, он ничего не должен делать. – Brandon

    +1

    Вы пробовали использовать тип от 'кнопки' до 'submit'? Вы хотите, чтобы он отправил форму, но вы не указали ее как кнопку отправки. – christopher

    ответ

    1
    try the following. 
    
    
    <input type='submit' name='ContactInfo' value='Create' onClick="SubmitForm('Contact', validateForm('Contact', 'Title') && validateForm('Contact', 'FirstName') && validateForm('Contact', 'LastName'));return false;" /> 
    

    изменить тип представить и поставить возвращение ложное в конце.

    или добавить это к вашему элементу формы:

    onsubmit="return validateForm(this);" 
    

    и делать тесты для Delete и т.д .. если this.value === "Удалить" и т.д ...

    +1

    Ах, это сработало! Заявление о возврате работает. Я сделал, если (WhatYouSaidAbove) возвращает true; else возвращает false; и это сработало. – Brandon

    +0

    большой, рад, что он сработал. Можете ли вы принять, когда таймер поднялся :-), пытаясь поднять репутацию! :-) –

    0

    Вы document.getElementById(Form), когда Идентификатор вашей формы - «Контакт». Так что измените это на document.getElementById("Contact").

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