コード例 #1
0
ファイル: tzs.product.php プロジェクト: serker72/T3S
function tzs_print_product_form($errors, $edit = false)
{
    //$d = date("d.m.Y");
    // Добавим 7 дней к текущей дате
    $dt = new DateTime();
    date_add($dt, date_interval_create_from_date_string(TZS_PR_PUBLICATION_MIN_DAYS + 1 . ' days'));
    $d = date_format($dt, "d.m.Y");
    $img_info = array();
    $img_names = array();
    //if(isset($_GET['spis'])) echo "<a id='edit_search' href='/account/my-products/'>Назад к списку</a> <div style='clear: both'></div>";
    //else echo "<button id='edit_search'  onclick='history.back()'>Назад к списку</button> <div style='clear: both'></div>";
    if (isset($_POST["pr_image_id_lists"]) && strlen($_POST["pr_image_id_lists"]) > 0) {
        $img_names = explode(';', $_POST["pr_image_id_lists"]);
        for ($i = 0; $i < count($img_names); $i++) {
            if ($img_names[$i] !== null && $img_names[$i] !== '') {
                $img_info[$i] = wp_get_attachment_image_src($img_names[$i], 'thumbnail');
            }
        }
    }
    //echo '<div style="clear: both;"></div>';
    //print_errors($errors);
    ?>
    <script src="/wp-content/plugins/tzs/assets/js/autocomplete.js"></script>
    
    <div style="clear: both;"></div>
    
    <!-- test new form -->
<div class="form_wrapper">
    <form enctype="multipart/form-data" method="post" id="form_product" class="" action="">
        
    <?php 
    if ($edit && isset($_POST["pr_active"]) && $_POST["pr_active"] == 0) {
        ?>
    <div class="row-fluid"  style="width: 100%; ">
        <div id="div_pr_active" class="span12">
            <div class="" style="background-color: #E5AEAE; text-align: center; padding: 2px;">Архивная заявка</div>
        </div>
    </div>
    <?php 
    }
    ?>
    
    <div class="row-fluid"  style="width: 100%; ">
        <div id="" class="span3">
            <select id="pr_type_id" name="pr_type_id">
                <option value="0" <?php 
    if (isset($_POST['pr_type_id']) && $_POST['pr_type_id'] == 0) {
        echo 'selected="selected"';
    }
    ?>
 >Категория</option>
                <?php 
    tzs_build_product_types('pr_type_id', TZS_PR_ROOT_CATEGORY_PAGE_ID);
    ?>
            </select>
            <?php 
    wp_nonce_field('pr_type_id', 'pr_type_id_nonce');
    ?>
            <input type="hidden" name="pr_active" id="pr_active" value="1">
	</div>
        <div id="" class="span2">
            <!--label for="pr_sale_or_purchase">Тип заявки</label-->
            <select id="pr_sale_or_purchase" name="pr_sale_or_purchase" style="width: 100px;">
                <option value="0" <?php 
    if (isset($_POST['pr_sale_or_purchase']) && $_POST['pr_sale_or_purchase'] == 0) {
        echo 'selected="selected"';
    }
    ?>
 >Тип заявки</option>
                <option value="1" <?php 
    if (isset($_POST['pr_sale_or_purchase']) && $_POST['pr_sale_or_purchase'] == 1) {
        echo 'selected="selected"';
    }
    ?>
 >Продажа</option>
                <option value="2" <?php 
    if (isset($_POST['pr_sale_or_purchase']) && $_POST['pr_sale_or_purchase'] == 2) {
        echo 'selected="selected"';
    }
    ?>
 >Покупка</option>
            </select>
        </div>
        <div id="" class="span3">
            <!--label for="pr_fixed_or_tender">Участник тендера</label-->
            <select id="pr_fixed_or_tender" name="pr_fixed_or_tender">
                <option value="0" <?php 
    if (isset($_POST['pr_fixed_or_tender']) && $_POST['pr_fixed_or_tender'] == 0) {
        echo 'selected="selected"';
    }
    ?>
 >Участник тендера</option>
                <option value="1" <?php 
    if (isset($_POST['pr_fixed_or_tender']) && $_POST['pr_fixed_or_tender'] == 1) {
        echo 'selected="selected"';
    }
    ?>
 >Цена зафиксирована</option>
                <option value="2" <?php 
    if (isset($_POST['pr_fixed_or_tender']) && $_POST['pr_fixed_or_tender'] == 2) {
        echo 'selected="selected"';
    }
    ?>
 >Тендерное предложение</option>
            </select>
        </div>
        <div class="span4">
            <input autocomplete="city" id="first_city" type="text" size="35" name="pr_city_from" value="<?php 
    echo_val('pr_city_from');
    ?>
" autocomplete="on" placeholder="Местонахождение товара" style="width: 280px;">
        </div>
    </div>
    
    <div class="row-fluid"  style="width: 100%; ">
        <div class="span9">
            <input type="text" id="pr_title" name="pr_title" size="" maxlength="255" value="<?php 
    echo_val('pr_title');
    ?>
" placeholder="Наименование товара" style="width: 90%;">
        </div>
        <div class="span3">
        </div>
    </div>
                    
    <div class="row-fluid"  style="width: 100%; margin-bottom: 20px;">
        <div class="span8">
            <?php 
    /*$args = array(  'wpautop' => 1,
                      'media_buttons' => 0,
                      'textarea_name' => 'pr_description', //нужно указывать!
                      'textarea_rows' => 4,
                      'tabindex'      => null,
                      'editor_css'    => '',
                      'editor_class'  => '',
                      'teeny'         => 0,
                      'dfw'           => 0,
                      'tinymce'       => array(
                          'theme' => 'advanced',
                          //'theme_​advanced_​buttons1' => 'save,newdocument, | ,bold, italic, underline, strikethrough, |, justifyleft, justifycenter, justifyright, justifyfull, styleselect, formatselect, fontselect, fontsizeselect',
                          //'theme_​advanced_​buttons2' => 'cut, copy, paste, pastetext, pasteword, |, search, replace, |, bullist, numlist, |, outdent, indent, blockquote, |, undo, redo, |, link, unlink, anchor, image, cleanup, help, code, |, insertdate, inserttime, preview, |, forecolor, backcolor',
                          //'theme_​advanced_​buttons3' => 'tablecontrols, |, hr, removeformat, visualaid, |, sub, sup, |, charmap, emotions, iespell, media, advhr, |, print, |, ltr, rtl, |, fullscreen',
                          'theme_advanced_buttons1' => 'bold, italic, ul, min_size, max_size',
                          'theme_advanced_buttons2' => '',
                          'theme_advanced_buttons3' => '',
                          'theme_advanced_buttons4' => '',
                      ),
                      'quicktags'     => array(
                          'id' => 'editpost',
                          //'buttons' => 'formatselect,|bold,italic,underline,bullist,blockquote,|,justifyleft,justifycenter,justifyright,justifyfull,|,link,unlink,,spellchecker,wp_fullscreen,wp_adv'
                      ),
                      'drag_drop_upload' => false
                  );
      wp_editor($_POST['pr_description'], 'editpost', $args);
      */
    ?>
            
                <textarea name="pr_description" id="pr_description" cols="45" rows="3"><?php 
    echo $_POST['pr_description'];
    ?>
</textarea>
                <script type="text/javascript">
                    //CKEDITOR.replace( 'editor1');
                    CKEDITOR.config.toolbar = 'WB';
                    CKEDITOR.config.toolbar_WB = [
                        ['Bold','Italic','Underline','StrikeThrough','-','NumberedList','BulletedList','-','JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock','-','Undo','Redo','-','Image','Table','-','Link','Flash','Smiley','TextColor','BGColor','Source']
                        
                    ] ;
                    /*CKEDITOR.config.toolbar_WB = [
                        { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ], items: [ 'Bold', 'Italic', 'Strike', '-', 'RemoveFormat' ] },
                        { name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi' ], items: [ 'Blockquote', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight'] },
                        { name: 'links', items: [ 'Link', 'Unlink' ] },
                        { name: 'insert', items: [ 'Image', 'SpecialChar' ] }
                        ];*/
                    CKEDITOR.replace( 'pr_description',
                        {
                            toolbar : 'WB'
                        });
                </script>
        </div>
        <div class="span4">
            <div class="span12" style="margin-bottom: 10px;">
                <label>Добавить изображения (до 1Мб):</label>
            </div>
            <div class="span12">
                <div class="pr_image_wrapper">
                    <div id="div_image1_off" class="pr_image_off">
                        <input type="file" id="image1_load" name="image1_load" class="inputfile inputfile-3" accept="image/jpeg,image/png,image/gif">
                        <label for="image1_load"><span>выбрать и загрузить</span></label>
                    </div>
                    <div id="div_image1_on" class="pr_image_on">
                        <span id="image1_delete" class="pr_image_delete"></span>
                        <img id="image1" src="<?php 
    echo isset($img_info[0][0]) ? $img_info[0][0] : '';
    ?>
">
                        <?php 
    if ($edit && isset($img_names[0])) {
        ?>
                            <input type="hidden" name="image_id_1" value="<?php 
        echo $img_names[0];
        ?>
"/>
                        <?php 
    }
    ?>
                    </div>
                </div>
                
                <div class="pr_image_wrapper">
                    <div id="div_image2_off" class="pr_image_off">
                        <input type="file" id="image2_load" name="image2_load" class="inputfile inputfile-3" accept="image/jpeg,image/png,image/gif">
                        <label for="image2_load"><span>выбрать и загрузить</span></label>
                    </div>
                    <div id="div_image2_on" class="pr_image_on">
                        <span id="image2_delete" class="pr_image_delete"></span>
                        <img id="image2" src="<?php 
    echo isset($img_info[1][0]) ? $img_info[1][0] : '';
    ?>
">
                        <?php 
    if ($edit && isset($img_names[1])) {
        ?>
                            <input type="hidden" name="image_id_2" value="<?php 
        echo $img_names[1];
        ?>
"/>
                        <?php 
    }
    ?>
                    </div>
                </div>
                
                <div class="pr_image_wrapper">
                    <div id="div_image3_off" class="pr_image_off">
                        <input type="file" id="image3_load" name="image3_load" class="inputfile inputfile-3" accept="image/jpeg,image/png,image/gif">
                        <label for="image3_load"><span>выбрать и загрузить</span></label>
                    </div>
                    <div id="div_image3_on" class="pr_image_on">
                        <span id="image3_delete" class="pr_image_delete"></span>
                        <img id="image3" src="<?php 
    echo isset($img_info[2][0]) ? $img_info[2][0] : '';
    ?>
">
                        <?php 
    if ($edit && isset($img_names[2])) {
        ?>
                            <input type="hidden" name="image_id_3" value="<?php 
        echo $img_names[2];
        ?>
"/>
                        <?php 
    }
    ?>
                    </div>
                </div>
            </div>
        </div>
    </div>
    
    <div class="row-fluid"  style="width: 100%; ">
        <div id="div_pr_copies" class="span4">
            <label for="pr_copies">Количество</label>
            <input type="text" id="pr_copies" name="pr_copies" size="" value="<?php 
    echo_val('pr_copies');
    ?>
" min="0" placeholder="Количество" style="width: 80px;">
            &nbsp;&nbsp;
            <select for="pr_copies" id="pr_unit" name="pr_unit" style="width: 80px;">
            <?php 
    tzs_print_array_options($GLOBALS['tzs_pr_unit'], '', 'pr_unit', 'Ед.измерения');
    ?>
            </select>
        </div>
        <div id="div_pr_price" class="span4">
            <label for="pr_price">Стоимость</label>
            <input type="text" id="pr_price" name="pr_price" size="10" value="<?php 
    echo_val('pr_price');
    ?>
" placeholder="Стоимость" style="width: 80px;">
            &nbsp;&nbsp;
            <select for="pr_price" id="pr_currency" name="pr_currency" style="width: 80px;">
            <?php 
    tzs_print_array_options($GLOBALS['tzs_pr_curr'], '', 'pr_currency', 'Валюта');
    ?>
            </select>
        </div>
        <div class="span4">
            <label for="pr_expiration">Окончание публикации</label>
            <input type="text" id="datepicker1" name="pr_expiration" size="" value="<?php 
    echo_val_def('pr_expiration', $d);
    ?>
" placeholder="Дата выгрузки" readonly="true" style="width: 80px;">
        </div>
    </div>

    <div class="row-fluid"  style="width: 100%;">
        <div class="span8">
            <div class="span12">
                <label for="" id="payment_label">Форма расчета (можно указать несколько способов одновременно):</label>
            </div>
            
            <div class="span3 chekbox">
                <input type="checkbox" id="cash" name="cash" <?php 
    echo isset($_POST['cash']) ? 'checked="checked"' : '';
    ?>
><label for="cash">Наличная</label>
            </div>
            <div class="span3 chekbox">
                <input type="checkbox" id="nocash" name="nocash" <?php 
    echo isset($_POST['nocash']) ? 'checked="checked"' : '';
    ?>
><label for="nocash">Безналичная</label>
            </div>
            <div class="span3 chekbox">
                <input type="checkbox" id="nds" name="nds" <?php 
    echo isset($_POST['nds']) ? 'checked="checked"' : '';
    ?>
><label for="nds">включая НДС</label>
            </div>
            <div class="span3 chekbox">
                <input type="checkbox" id="nonds" name="nonds" <?php 
    echo isset($_POST['nonds']) ? 'checked="checked"' : '';
    ?>
><label for="nonds">без НДС</label>
            </div>
            
            <div class="span12">
            </div>
            
            <div class="span4">
                <button id="form_button1"><?php 
    echo $edit ? "ИЗМЕНИТЬ ЗАЯВКУ" : "РАЗМЕСТИТЬ ЗАЯВКУ";
    ?>
</button>
            </div>
            <div class="span4">
                <?php 
    if (!$edit) {
        ?>
                <button id="form_button2">ОЧИСТИТЬ ВСЕ ПОЛЯ</button>
                <?php 
    }
    ?>
            </div>
            <div class="span4">
                <button id="form_button3">ВЫХОД</button>
            </div>
        </div>
        
        <div class="span4" style="padding: 2px;"><!-- float: right; -->
            <div class="" id="form_error_message" style="color: #F00;border: 1px #F00 dashed; border-radius: 4px; padding: 3px 5px; display: none;">
            </div>
        </div>
    </div>

    <div class="row-fluid"  style="width: 100%; margin-top: 15px;">
        <div class="span12">
            <div style="font-size: 92%; font-style: italic;">
                После нажатия кнопки "РАЗМЕСТИТЬ ЗАЯВКУ" заявка будет опубликована в базе товаров, после нажатия кнопки "ВЫХОД" заявка не сохраняется.
            </div>
        </div>
    </div>

    <div class="row-fluid"  style="width: 100%; ">
        <div class="span12">
            <div style="font-size: 92%; font-style: italic;">
                <span style="color: #F00;">Напоминаем:</span> При наступлении даты окончания публикации товар будет автоматически перенесен в архив. Минимальный срок публикации - <?php 
    echo TZS_PR_PUBLICATION_MIN_DAYS;
    ?>
 дней
            </div>
        </div>
    </div>
    
	<?php 
    if ($edit) {
        ?>
		<input type="hidden" name="action" value="editproduct"/>
		<input type="hidden" name="id" value="<?php 
        echo_val('id');
        ?>
"/>
	<?php 
    } else {
        ?>
		<input type="hidden" name="action" value="addproduct"/>
                <input type="hidden" name="pr_active" value="1"/>
	<?php 
    }
    ?>
	<input type="hidden" name="formName" value="product" />
    </form>
</div>
    <div class="clearfix">&nbsp;</div>
    
    <!-- test new form END -->
    <script>
     jQuery('#pr_type_id').on('change', function() {
            jQuery('#div_pr_type_id').addClass("change");    
     });
     
     jQuery('#pr_sale_or_purchase').on('change', function() {
            jQuery('#div_pr_sale_or_purchase').addClass("change");    
     });
     
     jQuery('#pr_fixed_or_tender').on('change', function() {
            jQuery('#div_pr_fixed_or_tender').addClass("change");    
     });
    </script>
	
    <script>
        // Изменение поля "Единица измерения"
        function onPrUnitChange() {
            jQuery('#pr_currency').attr('value', jQuery('#pr_unit').val());
        }

        // Изменение поля "Валюта"
        function onPrCurrencyChange() {
            jQuery('#pr_unit').attr('value', jQuery('#pr_currency').val());
        }

        // Функция проверки правильности заполнения полей формы до отправки
        function onFormValidate() {
            //var ErrorMsg1 = 'Список ошибок:<ul>';
            var ErrorMsg1 = '<p>';
            var ErrorMsg2 = '';
            var ErrorMsg3 = '</p>';

            if (jQuery('#pr_type_id').val() < 1) {
                ErrorMsg2 = ErrorMsg2 + 'Не указана категория товара.<br>\n';
                jQuery('#pr_type_id').css({'border': '2px solid #F00'});
            } else {
                jQuery('#pr_type_id').css({'border': '1px solid #007FFF'});
            }

            if (jQuery('#pr_sale_or_purchase').val() < 1) {
                ErrorMsg2 = ErrorMsg2 + 'Не указан тип заявки.<br>\n';
                jQuery('#pr_sale_or_purchase').css({'border': '2px solid #F00'});
            } else {
                jQuery('#pr_sale_or_purchase').css({'border': '1px solid #007FFF'});
            }

            if (jQuery('#pr_fixed_or_tender').val() < 1) {
                ErrorMsg2 = ErrorMsg2 + 'Не указан признак тендера.<br>\n';
                jQuery('#pr_fixed_or_tender').css({'border': '2px solid #F00'});
            } else {
                jQuery('#pr_fixed_or_tender').css({'border': '1px solid #007FFF'});
            }

            if (jQuery('#first_city').val().length < 1) {
                ErrorMsg2 = ErrorMsg2 + 'Не указан пункт местонахождения товара.<br>\n';
                jQuery('#first_city').css({'border': '2px solid #F00'});
            } else {
                jQuery('#first_city').css({'border': '1px solid #007FFF'});
            }

            if (jQuery('#pr_title').val().length < 1) {
                ErrorMsg2 = ErrorMsg2 + 'Не указано наименование товара.<br>\n';
                jQuery('#pr_title').css({'border': '2px solid #F00'});
            } else {
                jQuery('#pr_title').css({'border': '1px solid #007FFF'});
            }

            /*if (jQuery('#editpost').val().length < 1) {
                ErrorMsg2 = ErrorMsg2 + 'Не заполнено описание товара.<br>\n';
                jQuery('#editpost').css({'border': '2px solid #F00'});
            } else {
                jQuery('#editpost').css({'border': '1px solid #007FFF'});
            }*/

            if (jQuery('#pr_copies').val().length < 1) {
                ErrorMsg2 = ErrorMsg2 + 'Не указано количество товара.<br>\n';
                jQuery('#pr_copies').css({'border': '2px solid #F00'});
            } else {
                jQuery('#pr_copies').css({'border': '1px solid #007FFF'});
            }

            if (jQuery('#pr_unit').val() < 1) {
                ErrorMsg2 = ErrorMsg2 + 'Не указана единица измерения количества товара.<br>\n';
                jQuery('#pr_unit').css({'border': '2px solid #F00'});
            } else {
                jQuery('#pr_unit').css({'border': '1px solid #007FFF'});
            }

            if (jQuery('#pr_price').val().length < 1) {
                ErrorMsg2 = ErrorMsg2 + 'Не указана стоимость товара.<br>\n';
                jQuery('#pr_price').css({'border': '2px solid #F00'});
            } else {
                jQuery('#pr_price').css({'border': '1px solid #007FFF'});
            }

            if (jQuery('#pr_currency').val() < 1) {
                ErrorMsg2 = ErrorMsg2 + 'Не указана валюта стоимости товара.<br>\n';
                jQuery('#pr_currency').css({'border': '2px solid #F00'});
            } else {
                jQuery('#pr_currency').css({'border': '1px solid #007FFF'});
            }

            if (jQuery('#datepicker1').val().length < 1) {
                ErrorMsg2 = ErrorMsg2 + 'Не указана дата окончания публикации.<br>\n';
                jQuery('#datepicker1').css({'border': '2px solid #F00'});
            } else {
                jQuery('#datepicker1').css({'border': '1px solid #007FFF'});
            }
                
            // Проверка правильности указания переключателей
            if (!(jQuery("#cash").is(':checked') || jQuery("#nocash").is(':checked') || jQuery("#nds").is(':checked') || jQuery("#nonds").is(':checked'))) {
                ErrorMsg2 = ErrorMsg2 + 'Необходимо выбрать хотя бы один способ в блоке "Форма расчета".<br>\n';
                jQuery('#payment_label').css({'border': '2px solid #F00'});
            } else {
                jQuery('#payment_label').css({'border': 'none'});
            }

            if (ErrorMsg2.length > 0) {
                jQuery("#form_error_message").html(ErrorMsg1 + ErrorMsg2 + ErrorMsg3);
                jQuery("#form_error_message").show();
                return false;
            } else {
                return true;
            }
        }

        // Очистка формы
        function resetForm(selector) {
            jQuery(':text, :password, :file, textarea', selector)
                    .val('')
                    .css({'border': '1px solid #007FFF'});
            jQuery(':input, select option', selector)
                    .removeAttr('checked')
                    .removeAttr('selected')
                    .css({'border': '1px solid #007FFF'});
            jQuery('select option:first', selector).attr('selected', true);

            // Очистим список ошибок
            jQuery("#form_error_message").html('');
            jQuery("#form_error_message").hide();
            
            jQuery("#image1_delete, #image2_delete, #image3_delete").click();
        }

        /*
         * Функция, вызываемая после загрузки страницы
         */
        jQuery(document).ready(function(){
            if (jQuery('#image1').attr('src') != '') {
                jQuery('#div_image1_off').hide();
                jQuery('#div_image1_on').show();
            }
            
            if (jQuery('#image2').attr('src') != '') {
                jQuery('#div_image2_off').hide();
                jQuery('#div_image2_on').show();
            }
            
            if (jQuery('#image3').attr('src') != '') {
                jQuery('#div_image3_off').hide();
                jQuery('#div_image3_on').show();
            }
            
            jQuery("#image1_load").change(function() {
                var fileObj = this.files[0];
                if (fileObj.size > 1024000) {
                    alert('Размер файла не должен превышать 1 Мб !');
                } else {
                    var url = URL.createObjectURL(fileObj);
                    jQuery('#image1').attr('src', url);
                    jQuery('#div_image1_off').hide();
                    jQuery('#div_image1_on').show();
                }
            });
            
            jQuery("#image2_load").change(function() {
                var fileObj = this.files[0];
                if (fileObj.size > 1024000) {
                    alert('Размер файла не должен превышать 1 Мб !');
                } else {
                    var url = URL.createObjectURL(fileObj);
                    jQuery('#image2').attr('src', url);
                    jQuery('#div_image2_off').hide();
                    jQuery('#div_image2_on').show();
                }
            });
            
            jQuery("#image3_load").change(function() {
                var fileObj = this.files[0];
                if (fileObj.size > 1024000) {
                    alert('Размер файла не должен превышать 1 Мб !');
                } else {
                    var url = URL.createObjectURL(fileObj);
                    jQuery('#image3').attr('src', url);
                    jQuery('#div_image3_off').hide();
                    jQuery('#div_image3_on').show();
                }
            });
            
            jQuery("#image1_delete").click(function(event) {
                jQuery('#image1').removeAttr('src');
                jQuery('#div_image1_off').show();
                jQuery('#div_image1_on').hide();
            });
            
            jQuery("#image2_delete").click(function(event) {
                jQuery('#image2').removeAttr('src');
                jQuery('#div_image2_off').show();
                jQuery('#div_image2_on').hide();
            });
            
            jQuery("#image3_delete").click(function(event) {
                jQuery('#image3').removeAttr('src');
                jQuery('#div_image3_off').show();
                jQuery('#div_image3_on').hide();
            });
            
            jQuery("#form_button1").click(function(event) { 
                event.preventDefault();
                var flag = onFormValidate();
                if (flag) {
                    jQuery("form[id='form_product']").submit();
                }
            });

            jQuery("#form_button2").click(function(event) { 
                event.preventDefault();
                resetForm("form[id='form_product']");
            });

            jQuery("#form_button3").click(function(event) { 
                event.preventDefault();
                location.href = "/account/profile/";
            });

            jQuery("#pr_sale_or_purchase").change(function (eventObject) {
                if (eventObject.target.value == 2) {
                    jQuery("#pr_fixed_or_tender").attr('value', 2);
                    jQuery('#pr_fixed_or_tender').attr('disabled', 'disabled');
                } else {
                    jQuery('#pr_fixed_or_tender').removeAttr('disabled');
                }
            });

            jQuery.datepicker.setDefaults(jQuery.datepicker.regional['ru']);
            jQuery( "#datepicker1" ).datepicker({ 
                dateFormat: "dd.mm.yy",
                minDate: "<?php 
    echo $d;
    ?>
",
                selectOtherMonths: true,
                showOtherMonths: true,
            });
            jQuery('#datepicker1').css({'cursor': 'pointer'});
    
            jQuery("#pr_copies, #pr_price").bind("change keyup input click", function() {
                if (this.value.match(/[^0-9.]/g)) {
                    this.value = this.value.replace(/[^0-9.]/g, '');
                }
            });
            
            jQuery("#pr_unit").change(function() { onPrUnitChange(); });
            jQuery("#pr_unit").keyup(function() { onPrUnitChange(); });
            jQuery("#pr_currency").change(function() { onPrCurrencyChange(); });
            jQuery("#pr_currency").keyup(function() { onPrCurrencyChange(); });
            if (jQuery('#pr_unit').val() < 1) {
                jQuery("#pr_unit").attr('value', 1);
                jQuery("#pr_currency").attr('value', 1);
            }
    
            
            <?php 
    if ($errors != null && count($errors) > 0) {
        $err_str = '';
        foreach ($errors as $error) {
            $err_str .= $error . '</br>';
        }
        ?>
                jQuery("#form_error_message").html("<?php 
        echo $err_str;
        ?>
");
                jQuery("#form_error_message").show();
            <?php 
    }
    ?>

        });
    </script>
<?php 
}
コード例 #2
0
ファイル: tzs.truck.php プロジェクト: serker72/T3S
function tzs_print_truck_form($errors, $edit = false)
{
    $d = date("d.m.Y");
    //print_errors($errors);
    ?>

    <script src="/wp-content/plugins/tzs/assets/js/distance.js"></script>
    <script src="/wp-content/plugins/tzs/assets/js/autocomplete.js"></script>
    <script src="/wp-content/plugins/tzs/assets/js/ksk_city_form.js" type="text/javascript"></script>
    
    <div style="clear: both;"></div>
    
    <!-- test new form -->
<div class="form_wrapper">
    <form enctype="multipart/form-data" method="post" id="form_truck" class="" action="">

        <div class="row-fluid"  style="width: 100%; ">
            <div class="span5">
                <div class="city_input_div">
                    <table id="citiesTable">
                        <tbody>
                        </tbody>
                    </table>
                </div>
            </div>
            <div class="span7">
                 <div class="span7">
                     <div class="span6 margin-null"><input type="text" id="datepicker1" name="tr_date_from" size="" value="<?php 
    echo_val_def('tr_date_from', '');
    ?>
" placeholder="Дата погрузки" readonly="true" style="width: 100px;"></div>
                     <div class="span6 margin-null"><input type="text" id="datepicker2" name="tr_date_to" size="" value="<?php 
    echo_val_def('tr_date_to', '');
    ?>
" placeholder="Дата выгрузки" readonly="true" style="width: 100px;"></div>
                     <div class="span12 margin-null">
                        <select id="trans_type" name="trans_type" style="width: 98%">
                        <?php 
    tzs_print_array_options($GLOBALS['tzs_tr_types'], '', 'trans_type', 'Тип транспортного средства');
    ?>
                        </select>
                    </div>
                <div style="clear: both"></div> 
                    
                    <div style="clear: both"></div>
                    <div class="span12 margin-null"><input type="text" id="sh_descr" name="sh_descr" size="" value="<?php 
    echo_val('sh_descr');
    ?>
" maxlength = "255" placeholder="Желаемый груз" style="width: 95%"></div>
                    <div class="span12 margin-null"><input type="text" size="15" name="comment" value="<?php 
    echo_val('comment');
    ?>
" maxlength = "255" placeholder="Комментарий" style="width: 95%;"></div>
                    <div style="clear: both"></div>
                    <div>
                    </div>
                    <div class="span12 margin-null">
                        <input type="hidden" name="cost_curr" id="cost_curr" value="1">
                        <label for="cost">Стоимость перевозки:</label>&nbsp;
                        <input type="text" id="cost" name="cost" value="<?php 
    echo_val('cost');
    ?>
" size="10" style="width: 100px;">
                        <div class="post-input">грн</div>
                    </div>
                 </div>
                <div class="span5" style="margin-top: -5px;">
                    <div class="chekbox span12"><!-- style="text-align: right;"-->
                        <input type="checkbox" name="set_dim" id="set_dim" <?php 
    if (isset($_POST['set_dim'])) {
        echo 'checked="checked"';
    }
    ?>
><label for="set_dim">Указать габариты ТС (м):</label>
                        <!--div class="post-input gabarite"></div-->
                    </div>
                    <div class="span12">
                        <input type="text" name="tr_length" id="tr_length" value="<?php 
    echo_val('tr_length');
    ?>
" maxlength = "5" title="Формат: 99.99" placeholder="Длина" style="width: 50px; margin-right: 5px;">&nbsp;&nbsp;
                        <input type="text" name="tr_width" id="tr_width" value="<?php 
    echo_val('tr_width');
    ?>
" maxlength = "5" title="Формат: 99.99" placeholder="Ширина" style="width: 50px; margin-left: 5px;">&nbsp;&nbsp;
                        <input type="text" name="tr_height" id="tr_height" value="<?php 
    echo_val('tr_height');
    ?>
" maxlength = "5" title="Формат: 99.99" placeholder="Высота" style="width: 50px; margin-left: 5px;">
                    </div>
                    <div style="clear: both"></div>
                    <div class="span12"><!-- style="text-align: right; float: right;"-->
                        <label for="tr_volume">Объем груза&nbsp;=</label>&nbsp;
                        <input type="text" id="tr_volume" name="tr_volume" value="<?php 
    echo_val('tr_volume');
    ?>
" readonly="true" style="width: 80px;">
                        <div class="post-input">м<sup>3</sup></div>
                    </div>
                    <div style="clear: both"></div>
                    <div class="span12">
                        <label for="tr_weight">Вес груза:</label>&nbsp;
                        <input type="text" id="tr_weight" name="tr_weight" value="<?php 
    echo_val('tr_weight');
    ?>
" maxlength = "5" style="width: 50%;"><div class="post-input">т</div>
                    </div>
                    <div style="clear: both"></div>
                    <div class="span12">
                        <label for="trans_count">Кол-во машин:</label>&nbsp;
                        <input type="text" size="5" id="trans_count" name="trans_count" value="<?php 
    echo_val('trans_count');
    ?>
" maxlength = "2" placeholder = "0" style="width: 37%;">
                    </div>
               
                    <div style="clear: both"></div>
                    <div class="span12">
                        <label for="price">Цена&nbsp;=</label>&nbsp;
                        <input type="text" id="price" name="price" value="<?php 
    echo_val('price');
    ?>
" size="10" readonly="true" style="width: 100px;">
                        <div class="post-input">грн/км</div>
                    </div>
                    <div style="clear: both"></div>
                </div>
                <div style="clear: both"></div>
                
                
                
                <div class="span2">
                    <label for="">Загрузка:</label>
                </div>
                <!--div style="clear: both"></div-->
                <div class="chekbox span2 margin-checkbox">
                    <input type="checkbox" id="top_loading" name="top_loading" <?php 
    echo isset($_POST['top_loading']) ? 'checked="checked"' : '';
    ?>
><label for="top_loading">верхняя</label>
                </div>
                <div class="chekbox span2 margin-checkbox">
                    <input type="checkbox" id="side_loading" name="side_loading" <?php 
    echo isset($_POST['side_loading']) ? 'checked="checked"' : '';
    ?>
><label for="side_loading">боковая</label>
                </div>
                <div class="chekbox span2 margin-checkbox">
                    <input type="checkbox" id="back_loading" name="back_loading" <?php 
    echo isset($_POST['back_loading']) ? 'checked="checked"' : '';
    ?>
><label for="back_loading">задняя</label>
                </div>
                <div class="chekbox span4 margin-checkbox">
                    <input type="checkbox" id="without_gate" name="without_gate" style="width: 16%;" <?php 
    echo isset($_POST['without_gate']) ? 'checked="checked"' : '';
    ?>
 ><label for="without_gate">без ворот</label>
                </div>
                <div style="clear: both"></div>
                <div class="chekbox span4 margin-checkbox">
                    <input type="checkbox" id="full_movable" name="full_movable" <?php 
    echo isset($_POST['full_movable']) ? 'checked="checked"' : '';
    ?>
><label for="full_movable">с полной растентовкой</label>
                </div>
                
                <div class="chekbox span4 margin-checkbox">
                    <input type="checkbox" id="remove_cross" name="remove_cross" <?php 
    echo isset($_POST['remove_cross']) ? 'checked="checked"' : '';
    ?>
><label for="remove_cross">со снятием поперечин</label>
                </div>
                <div class="chekbox span4 margin-checkbox">
                    <input type="checkbox" id="remove_racks" name="remove_racks" <?php 
    echo isset($_POST['remove_racks']) ? 'checked="checked"' : '';
    ?>
 ><label for="remove_racks">со снятием стоек</label>
                </div>
            </div>
            
            <div class="span5"></div>
            <div class="span7">
                <div id="payments-method-label">
                    <label for="">Форма расчета (можно указать несколько способов одновременно):</label>
                </div>
                <div style="clear: both"></div>
                <div class="chekbox form-group">
                    <div class="chekbox span2 margin-checkbox">
                        <input type="checkbox" id="cash" name="cash" <?php 
    echo isset($_POST['cash']) ? 'checked="checked"' : '';
    ?>
><label for="cash">Наличная</label>
                    </div>
                    <div class="chekbox span3 margin-checkbox">    
                        <input type="checkbox" id="nocash" name="nocash" <?php 
    echo isset($_POST['nocash']) ? 'checked="checked"' : '';
    ?>
><label for="nocash">Безналичная</label>
                    </div>
                    <div class="chekbox span3 margin-checkbox">
                        <input type="checkbox" id="way_ship" name="way_ship" <?php 
    echo isset($_POST['way_ship']) ? 'checked="checked"' : '';
    ?>
><label for="way_ship">При погрузке</label>
                    </div>
                    <div class="chekbox span3 margin-checkbox">
                        <input type="checkbox" id="way_debark" name="way_debark" <?php 
    echo isset($_POST['way_debark']) ? 'checked="checked"' : '';
    ?>
><label for="way_debark">При выгрузке</label>
                    </div>
                    <div class="chekbox span2 margin-checkbox">
                        <input type="checkbox" id="soft" name="soft" <?php 
    echo isset($_POST['soft']) ? 'checked="checked"' : '';
    ?>
><label for="soft">Софт</label>
                    </div>
                    <div class="chekbox span4 margin-checkbox">
                        <input type="checkbox" id="way_prepay" name="way_prepay"  <?php 
    echo isset($_POST['way_prepay']) ? 'checked="checked"' : '';
    ?>
 ><label for="way_prepay">Предоплата</label>
                        <input type="text" id="prepayment" name="prepayment" class="margin-prepay" value="<?php 
    echo_val('prepayment');
    ?>
" size="5" placeholder = "0" style="width: 20px;"><div class="post-input margin-prepay">%</div>
                    </div>
                    <div class="chekbox span7 margin-checkbox">
                        <input type="checkbox" id="price_query" name="price_query" <?php 
    echo isset($_POST['price_query']) ? 'checked="checked"' : '';
    ?>
><label for="price_query">Не указывать стоимость (цена договорная)</label>
                    </div>
                </div>
                
            </div>
        </div>
        
   
    
   <!-- <div class="row-fluid"  style="width: 100%; ">
        <div class="span3">
        </div>
        <div id="div_second_city" class="span3 form-group">
        </div>
        <div class="span1">
            <img id ="second_city_flag" src="<?php 
    echo $edit ? echo_val('to_code') : "";
    ?>
" style="visibility:<?php 
    echo $edit ? 'visible' : 'hidden';
    ?>
" width=18 height=12 alt="">
        </div>
        <div class="span2">
        </div>
        <div class="span3">
        </div>
    </div> -->
    
    <!--div class="row-fluid"  style="width: 100%; ">
        <div class="span3">
        </div>
        <div id="div_second_city" class="span3 form-group">
        </div>
        <div class="span1">
            <img id ="second_city_flag" src="<?php 
    //echo $edit ? echo_val('to_code') : ""
    ?>
" style="visibility:<?php 
    echo $edit ? 'visible' : 'hidden';
    ?>
" width=18 height=12 alt="">
        </div>
        <div class="span2">
        </div>
        <div class="span3">
        </div>
    </div-->
                    

    <div class="row-fluid"  style="width: 100%; ">
            <input type="hidden" name="tr_active" id="tr_active" value="1">
        <div class="span1">
            <!--span><img id="trans_type_img" src="" alt=""></img></span>&nbsp;&nbsp;-->
        </div>
        <div class="span8">
            <!--div class="span12 chekbox" style="margin-bottom: 20px;">
            </div-->
            <div class="span4">
                <button id="form_button1"><?php 
    echo $edit ? "ИЗМЕНИТЬ ЗАЯВКУ" : "РАЗМЕСТИТЬ ЗАЯВКУ";
    ?>
</button>
            </div>
            <div class="span4">
                <?php 
    if (!$edit) {
        ?>
                <button id="form_button2">ОЧИСТИТЬ ВСЕ ПОЛЯ</button>
                <?php 
    }
    ?>
            </div>
            <div class="span4">
                <button id="form_button3">ВЫХОД</button>
            </div>
        </div>
        <div class="span4" style="padding: 2px;"><!-- float: right; -->
            <div class="" id="form_error_message" style="color: #F00;border: 1px #F00 dashed; border-radius: 4px; padding: 3px 5px; display: none;">
            </div>
        </div>
    </div>

    <div class="row-fluid"  style="width: 100%; margin-top: 10px;">
        <div class="span12">
            <div style="font-size: 92%; font-style: italic;">
                После нажатия кнопки "РАЗМЕСТИТЬ ЗАЯВКУ" заявка будет опубликована в базе транспорта, после нажатия кнопки "ВЫХОД" заявка не сохраняется.
            </div>
        </div>
    </div>

    <div class="row-fluid"  style="width: 100%; ">
        <div class="span12">
            <div style="font-size: 92%; font-style: italic;">
                <span style="color: #F00;">Напоминаем:</span> заявка будет удалена из базы активных заявок и перенесена в архив на следующий день после указанного Вами дня выгрузки
            </div>
        </div>
    </div>
    
	<?php 
    if ($edit) {
        ?>
		<input type="hidden" name="action" value="edittruck"/>
		<input type="hidden" name="id" value="<?php 
        echo_val('id');
        ?>
"/>
	<?php 
    } else {
        ?>
		<input type="hidden" name="action" value="addtruck"/>
	<?php 
    }
    ?>
        <input type="hidden" name="path_segment_distance" id="path_segment_distance" value="">
        <input type="hidden" name="route-length" id="route-length" value="">
	<input type="hidden" name="formName" value="truck" />
    </form>
</div>
    <div class="clearfix">&nbsp;</div>
    <div id="map_canvas"></div><!-- style="display: none;"-->
    
    <!-- Modal -->
    <div id="ViewMapModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="width: 98%; margin-left: -49%;  top: 3%;">
        <div class="modal-header">
            <button id="ViewMapModalCloseButton" type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
            <h4 id="myModalLabel">Просмотр карты маршрута</h4>
        </div>
        <div id="ViewMapModalBody" class="modal-body">
            <!--div id="map_canvas"></div-->
        </div>
        <div class="modal-footer">
            <button class="btn btn-default" data-dismiss="modal">Закрыть</button>
        </div>
    </div>
    
    <!-- test new form END -->
    <script>
     jQuery('#trans_type').on('change', function() {
            jQuery('#div_trans_type').addClass("change");    
     });
    </script>
	
    <script>
        tzs_tr2_types = [];
        <?php 
    foreach ($GLOBALS['tzs_tr2_types'] as $key => $val) {
        echo "tzs_tr2_types[{$key}] = '{$val['1']}';\n";
    }
    echo "CITY_NAMES = [];\n";
    echo "CITY_IDS = [];\n";
    if (isset($_POST['input_city'])) {
        foreach ($_POST['input_city'] as $key => $val) {
            echo "CITY_NAMES[{$key}] = '{$val}';\n";
        }
    }
    ?>
        
        
        // Расчет расстояния между пунктами
	function calculate_distance() {
                /*var length = 0;		
		var routeFrom = document.getElementById('first_city').value;
		var routeTo = document.getElementById('second_city').value;
		// Создание маршрута
		ymaps.route([routeFrom, routeTo]).then(
			function(route) {
				//alert('Длина маршрута = ' + route.getHumanLength());
				length = route.getHumanLength().replace(/&#160;/,' ').replace(/ км/,'');
				jQuery('#sh_distance').attr('value', length);
				document.getElementById('route-length').value = length;			
				//var x = document.getElementsByName('theForm');
				//x[0].submit(); // Form submission
			},
			function(error) {
			 alert('Невозможно построить маршрут. Возможно один из городов введен неверно.');
				document.getElementById('route-length').value = 'Ошибка';
			}
		);*/ 
	}

	/*var delay = (function(){
	  var timer = 0;
	  return function(callback, ms){
		clearTimeout (timer);
		timer = setTimeout(callback, ms);
	  };
	})();*/
	
        // Изменение полей "Населенный пункт погрузки" и "Населенный пункт выгрузки"
	function onCityChange() {
            /*if ((jQuery('#first_city').val().length > 0) && (jQuery('#second_city').val().length > 0)) {
                calculate_distance();
                jQuery('#show_dist_link').show();
            } else {
                if (jQuery('#first_city').val().length < 1) {
                    //jQuery('#first_city_flag').hide();
                    jQuery('#first_city_flag').attr('src', '');
                }
                
                if (jQuery('#second_city').val().length < 1) {
                    //jQuery('#second_city_flag').hide();
                    jQuery('#second_city_flag').attr('src', '');
                }
                
                jQuery('#sh_distance').attr('value', '');
                jQuery('#show_dist_link').hide();
            }
            
            if (typeof onCostChange === 'function') {
                onCostChange();
            }*/
	}
		
		
        // Изменение флага "Указать габариты груза (м):"
        function onSetDim(ch) {
            if (ch) {
                jQuery("#tr_length, #tr_width, #tr_height, #tr_volume").removeAttr("disabled");
                //jQuery("#tr_length, #tr_width, #tr_height").attr('required', 'required');
            } else {
                //jQuery("#tr_length, #tr_width, #tr_height").removeAttr('required');
                jQuery("#tr_length, #tr_width, #tr_height, #tr_volume").attr("disabled", "disabled");
                jQuery("#tr_length, #tr_width, #tr_height, #tr_volume").attr('value', '');
            }
        }

        // Вывод карты
        function showDistanceDialog() {
            /*if ((jQuery('#first_city').val().length > 0) && (jQuery('#second_city').val().length > 0)) {
                //displayDistance([jQuery('input[name=tr_city_from]').val(), jQuery('input[name=tr_city_to]').val()], null);
                displayDistance([jQuery('#first_city').val(), jQuery('#second_city').val()], null);
            } else {

            }*/
        }

        // Изменение поля "Тип транспорта"
        function onTransTypeChange() {
            //jQuery('#trans_type').addClass("change");
            //jQuery('#trans_type_img').attr('src', tzs_tr2_types[jQuery('[name=trans_type]').val()]);
        }

        // Изменение поля "Дата загрузки"
        function onDatePicker1Change(dateText, inst) {
            jQuery("#datepicker2").datepicker("option", "minDate", new Date(dateText.replace(/(\d+).(\d+).(\d+)/, '$3/$2/$1')));
            jQuery("#datepicker2").datepicker("setDate", dateText);
            //jQuery("#datepicker2").removeAttr("disabled");
        }

        // Изменение поля "Стоимость перевозки"
        function onCostChange() {
            if ((jQuery('#cost').val().length > 0) && (jQuery('#sh_distance').val().length > 0)) {
                var vol = (jQuery('#cost').val() / jQuery('#sh_distance').val()).toFixed(2);
                jQuery('#price').attr('value', vol);
            } else {
                jQuery('#price').attr('value', '');
            }
        }

        // Изменение флага "Не указывать стоимость (цена договорная)"
        function onPriceQueryChange() {
            if (jQuery("#price_query").is(':checked')) {
                jQuery("[name=cost]").attr('value', '');
                jQuery("[name=price]").attr('value', '');
                jQuery("[name=prepayment]").attr('value', '');

                jQuery("[name=cash]").prop('checked', false);
                jQuery("[name=nocash]").prop('checked', false);
                jQuery("[name=way_ship]").prop('checked', false);
                jQuery("[name=way_debark]").prop('checked', false);
                jQuery("[name=soft]").prop('checked', false);
                jQuery("[name=way_prepay]").prop('checked', false);

                jQuery("[name=cost]").attr("disabled", "disabled");
                jQuery("[name=price]").attr("disabled", "disabled");
                jQuery("[name=prepayment]").attr("disabled", "disabled");
                jQuery("[name=cash]").attr("disabled", "disabled");
                jQuery("[name=nocash]").attr("disabled", "disabled");
                jQuery("[name=way_ship]").attr("disabled", "disabled");
                jQuery("[name=way_debark]").attr("disabled", "disabled");
                jQuery("[name=soft]").attr("disabled", "disabled");
                jQuery("#way_prepay").attr("disabled", "disabled");
                jQuery("#prepayment").attr("disabled", "disabled");
            } else {
                jQuery("[name=cost]").removeAttr("disabled");
                jQuery("[name=price]").removeAttr("disabled");
                jQuery("[name=prepayment]").removeAttr("disabled");
                jQuery("[name=cash]").removeAttr("disabled");
                jQuery("[name=nocash]").removeAttr("disabled");
                jQuery("[name=way_ship]").removeAttr("disabled");
                jQuery("[name=way_debark]").removeAttr("disabled");
                jQuery("[name=soft]").removeAttr("disabled");
                jQuery("#way_prepay").removeAttr("disabled");

                jQuery("#prepayment").attr("disabled", "disabled");
            }
        }

        // Изменение флага "Предоплата"
        function onWayPrepayChange() {
            if (jQuery("#way_prepay").is(':checked')) {
                jQuery("#prepayment").attr('value', '');
                jQuery("#prepayment").removeAttr("disabled");
            } else {
                jQuery("#prepayment").attr('value', '');
                jQuery("#prepayment").attr("disabled", "disabled");
            }
        }

        // Рассчет объема груза
        function onVolumeCalculate() {
            if ((jQuery('#tr_length').val().length > 0) && (jQuery('#tr_width').val().length > 0) && (jQuery('#tr_height').val().length > 0)) {
                var vol = jQuery('#tr_length').val() * jQuery('#tr_width').val() * jQuery('#tr_height').val();
                jQuery('#tr_volume').attr('value', vol);
            } else {
                jQuery('#tr_volume').attr('value', '');
            }
        }

        // Очистка формы
        function resetForm(selector) {
            jQuery(':text, :password, :file, textarea', selector)
                    .val('')
                    .css({'border': '1px solid #007FFF'});
            jQuery(':input, select option', selector)
                    .removeAttr('checked')
                    .removeAttr('selected')
                    .css({'border': '1px solid #007FFF'});
            jQuery('select option:first', selector).attr('selected', true);
            
            // Очистим флаги и скроем кнопку "см. карту"
            jQuery('img', selector).attr('src', '')
            jQuery('#show_dist_link').hide();

            jQuery('#div_cash, #div_nocash, #div_way_ship, #div_way_debark, #div_soft, #div_way_prepay').css({'border': 'none'});
            jQuery("#payments-method-label").css({'border': 'none'});
            
            // Очистим список ошибок
            jQuery("#form_error_message").html('');
            jQuery("#form_error_message").hide();
        }

        // Функция проверки правильности заполнения полей формы до отправки
        function onFormValidate() {
            //var ErrorMsg1 = 'Список ошибок:<ul>';
            var ErrorMsg1 = '<p>';
            var ErrorMsg2 = '';
            var ErrorMsg3 = '</p>';

            // Проверка заполненности списка городов
            var index = 0;
            jQuery('#citiesTable').find('input[type=text]').each(function () {
                if (jQuery(this).attr('name') !== 'sh_distance') {
                    index += 1;
                    if (jQuery(this).val().length < 1) {
                        ErrorMsg2 = ErrorMsg2 + 'Не указан пункт маршрута № ' + index + '.<br>\n';
                        jQuery(this).css({'border': '2px solid #F00'});
                    } else {
                        jQuery(this).css({'border': '1px solid #007FFF'});
                    }
                } else {
                    if (jQuery(this).val().length < 1) {
                        ErrorMsg2 = ErrorMsg2 + 'Не выполнен расчет длины маршрута.<br>\n';
                        jQuery(this).css({'border': '2px solid #F00'});
                    } else {
                        jQuery(this).css({'border': '1px solid #007FFF'});
                    }
                }
            });

            if (jQuery('#datepicker1').val().length < 1) {
                ErrorMsg2 = ErrorMsg2 + 'Не указана дата погрузки.<br>\n';
                jQuery('#datepicker1').css({'border': '1px solid #F00'});
            } else {
                jQuery('#datepicker1').css({'border': '1px solid #007FFF'});
            }

            if (jQuery('#datepicker2').val().length < 1) {
                ErrorMsg2 = ErrorMsg2 + 'Не указана дата выгрузки.<br>\n';
                jQuery('#datepicker2').css({'border': '1px solid #F00'});
            } else {
                jQuery('#datepicker2').css({'border': '1px solid #007FFF'});
            }

            if (jQuery('#tr_type').val() < 1) {
                ErrorMsg2 = ErrorMsg2 + 'Не указан тип груза.<br>\n';
                jQuery('#tr_type').css({'border': '1px solid #F00'});
            } else {
                jQuery('#tr_type').css({'border': '1px solid #007FFF'});
            }
            
            /*if (jQuery('#sh_descr').val() < 1) {
                ErrorMsg2 = ErrorMsg2 + 'Не указано описание груза.<br>\n';
                jQuery('#sh_descr').css({'border': '1px solid #F00'});
            } else {
                jQuery('#sh_descr').css({'border': '1px solid #007FFF'});
            }*/

            if (jQuery('#trans_type').val() < 1) {
                ErrorMsg2 = ErrorMsg2 + 'Не указан тип транспортного средства.<br>\n';
                jQuery('#trans_type').css({'border': '1px solid #F00'});
            } else {
                jQuery('#trans_type').css({'border': '1px solid #007FFF'});
            }

            if (jQuery('#trans_count').val().length < 1) {
                ErrorMsg2 = ErrorMsg2 + 'Не указано количество машин.<br>\n';
                jQuery('#trans_count').css({'border': '1px solid #F00'});
            } else {
                jQuery('#trans_count').css({'border': '1px solid #007FFF'});
            }

            if (jQuery('#set_dim').prop('checked')) {
                if (jQuery('#tr_length').val().length == 0) {
                    ErrorMsg2 = ErrorMsg2 + 'Не указана длина груза.<br>\n';
                    jQuery('#tr_length').css({'border': '1px solid #F00'});
                } else {
                    jQuery('#tr_length').css({'border': '1px solid #007FFF'});
                }

                if (jQuery('#tr_width').val().length == 0) {
                    ErrorMsg2 = ErrorMsg2 + 'Не указана ширина груза.<br>\n';
                    jQuery('#tr_width').css({'border': '1px solid #F00'});
                } else {
                    jQuery('#tr_width').css({'border': '1px solid #007FFF'});
                }

                if (jQuery('#tr_height').val().length == 0) {
                    ErrorMsg2 = ErrorMsg2 + 'Не указана высота груза.<br>\n';
                    jQuery('#tr_height').css({'border': '1px solid #F00'});
                } else {
                    jQuery('#tr_height').css({'border': '1px solid #007FFF'});
                }
            } else {
                jQuery('#tr_length, #tr_width, #tr_height').css({'border': '1px solid #007FFF'});
            }

            if (jQuery("#price_query").is(':checked')) {
                jQuery('#cost, #prepayment').css({'border': '1px solid #007FFF'});
                jQuery('#div_cash, #div_nocash, #div_way_ship, #div_way_debark, #div_soft, #div_way_prepay').css({'border': 'none'});
                jQuery("#payments-method-label").css({'border': 'none'});
            } else {
                if (jQuery('#cost').val().length < 1) {
                    ErrorMsg2 = ErrorMsg2 + 'Не указана стоимость перевозки.<br>\n';
                    jQuery('#cost').css({'border': '1px solid #F00'});
                } else {
                    jQuery('#cost').css({'border': '1px solid #007FFF'});
                }

                if (jQuery("#way_prepay").is(':checked')) {
                    if (jQuery('#prepayment').val().length < 1) {
                        ErrorMsg2 = ErrorMsg2 + 'Не указан % предоплаты.<br>\n';
                        jQuery('#prepayment').css({'border': '1px solid #F00'});
                    } else {
                        jQuery('#prepayment').css({'border': '1px solid #007FFF'});
                    }
                } else {
                    jQuery('#prepayment').css({'border': '1px solid #007FFF'});
                }
                
                // Проверка правильности указания переключателей
                if ((jQuery("#cash").is(':checked') || jQuery("#nocash").is(':checked') || jQuery("#way_ship").is(':checked') || jQuery("#way_debark").is(':checked') || jQuery("#soft").is(':checked') || jQuery("#way_prepay").is(':checked'))) {
                    jQuery('#div_cash, #div_nocash, #div_way_ship, #div_way_debark, #div_soft, #div_way_prepay').css({'border': 'none'});
                    jQuery("#payments-method-label").css({'border': 'none'});
                } else {
                    ErrorMsg2 = ErrorMsg2 + 'Не выбрана форма расчета.<br>\n';
                    jQuery('#div_cash, #div_nocash, #div_way_ship, #div_way_debark, #div_soft, #div_way_prepay').css({'border': '1px solid #F00'});
                    jQuery("#payments-method-label").css({'border': '1px solid #F00'});
                }
            }

            if (ErrorMsg2.length > 0) {
                jQuery("#form_error_message").html(ErrorMsg1 + ErrorMsg2 + ErrorMsg3);
                jQuery("#form_error_message").show();
                return false;
            } else {
                return true;
            }
        }

        /*
         * Функция, вызываемая после загрузки страницы
         */
        jQuery(document).ready(function(){
            initCitiesTable();
            
            jQuery('#totalDistance').append('<input type="text" id="sh_distance" name="sh_distance" size="" value="<?php 
    echo_val('sh_distance');
    ?>
" maxlength = "255" readonly="true" style="width: 50px;"><div class="post-input">км</div>&nbsp;&nbsp;');
            //jQuery('#show_dist_link').hide();

            jQuery('#set_dim').click(function() {
                    onSetDim(this.checked);
            });
            
            jQuery.datepicker.setDefaults(jQuery.datepicker.regional['ru']);
            jQuery( "#datepicker1" ).datepicker({ 
                dateFormat: "dd.mm.yy",
                minDate: new Date(),
                selectOtherMonths: true,
                showOtherMonths: true,
                onSelect: function(dateText, inst) { onDatePicker1Change(dateText, inst); }
            });
            jQuery( "#datepicker2" ).datepicker({ 
                dateFormat: "dd.mm.yy",
                selectOtherMonths: true,
                showOtherMonths: true
            });
            //jQuery("#datepicker2").attr("disabled", "disabled");
            jQuery('#datepicker1, #datepicker2').css({'cursor': 'pointer'});

            onSetDim(jQuery('#set_dim').prop('checked'));
            jQuery("[name=trans_type]").change(function() { onTransTypeChange(); });
            jQuery("[name=trans_type]").keyup(function() { onTransTypeChange(); });
            jQuery("#cost").change(function() { onCostChange(); });
            jQuery("#cost").keyup(function() { onCostChange(); });
            
            <?php 
    if ($errors != null && count($errors) > 0) {
        $err_str = '';
        foreach ($errors as $error) {
            $err_str .= $error . '</br>';
        }
        ?>
                jQuery("#form_error_message").html("<?php 
        echo $err_str;
        ?>
");
                jQuery("#form_error_message").show();
            <?php 
    }
    ?>

            //updateCostValue();
            onTransTypeChange();
            //onWayPrepayChange();
           // onCityChange();
            onCostChange();

            /*jQuery('#first_city, #second_city').on('input',function() { 		
                                        delay(function(){
                                                onCityChange();
                                          //alert('Time elapsed!');
                                        }, 1000 );///onCityChange(); 
                                        });*/

            jQuery("#tr_length, #tr_width, #tr_height, #cost, #tr_weight, #trans_count").bind("change keyup input click", function() {
                if (this.value.match(/[^0-9.]/g)) {
                    this.value = this.value.replace(/[^0-9.]/g, '');
                }
            });
            jQuery("#tr_length, #tr_width, #tr_height").change(function() { onVolumeCalculate(); });
            jQuery("#price_query").change(function() { onPriceQueryChange(); });
            jQuery("#way_prepay").change(function() { onWayPrepayChange(); });

            jQuery("#form_button1").click(function(event) { 
                event.preventDefault();
                var flag = onFormValidate();
                if (flag) {
                    jQuery("form[id='form_truck']").submit();
                }
            });

            jQuery("#form_button2").click(function(event) { 
                event.preventDefault();
                resetForm("form[id='form_truck']");
                onSetDim(jQuery('#set_dim').prop('checked'));
            });

            jQuery("#form_button3").click(function(event) { 
                event.preventDefault();
                location.href = "/account/my-trucks/";
            });
        });
		
    </script>
<?php 
}
コード例 #3
0
ファイル: tzs.search.php プロジェクト: serker72/T3S
function tzs_print_volume($name)
{
    tzs_print_array_options($GLOBALS['tzs_volume_enum'], 'м³', $name);
}