Форма не отправляет данные

116
20 апреля 2022, 20:40

Не отправляются данные на другую страницу

index.php

    <form method="POST" id="formx"   action="javascript:void(null);"  onsubmit="call()">
<div class="search-container">
                    <div class="row with-forms">
                        <div class="col-md-2">
                            <select data-placeholder="All States" class="chosen-select" name="city">
                            <option value="null">Выберите город</option>
                            
                            <? 
                            $result=mysqli_query($con,"SELECT* from geo_city");

                            while ($row=mysqli_fetch_array($result)){
                                $name=$row['name'];
                                $id=$row['id'];
                                echo "<option value='$id'>$name</option> ";
                            } 
                            
                            ?>       
                            
                        </select>
                        </div>              
    
                        <div class="col-md-2">
                            <div class="main-search-input" >                
                                <button style="margin-left: 0px;" class="button" ><i class="fa fa-search"></i></button>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
</form>
 <script type="text/javascript" language="javascript">
                function call() {
                  var msg= $('#formx').serialize();
                     $.ajax({
                       type: 'POST',
                       url: 'city.php',
                       data: msg,
                       success: function(data) {
                         $('#results').html(data);
                     document.location.replace('http://HTML/city.php');
                       },
                       error:  function(xhr, str){
                       alert('Возникла ошибка: ' + xhr.responseCode);
             
                       }
                     });
           
                 }  
 </script>

city.php

<?  
$city=$_POST['city']; 
var_dump($city);
?>
Answer 1

Замените

var msg= $('#formx').serialize();
        

На

var msg = new FormData();
msg.append('city', $('select[name=city] option:selected').val() );

Я так делаю в моменты когда мне не нужно делать submit формы, но ее данные все же отправить нужно.

$.ajax({
    url: 'city.php',
    type: 'POST',
    data: msg,
    cache: false,
    contentType: false,
    processData: false,
    error: function(req, text, error) {
        alert('Возникла ошибка: ' + error);    
    },
    success: function ( data ) {
        $('#results').html(data);
    },                                             
});                                 
READ ALSO
Как сделать многоязычнось? php

Как сделать многоязычнось? php

есть сайт на php, вход регистрация и тд, собственно хотелось бы сделать его многоязычным, посдкажите как это нормально можно сделать, хочется...

147
Вытащить данные с xml

Вытащить данные с xml

Как вывести переменную с xml `

85
Как создать таблицу сериалов в phpMyAdmin

Как создать таблицу сериалов в phpMyAdmin

пните меня в нужном направлении, например есть какой-либо сериал, сериал как принято делится на сезоны а сезоны в свою очередь на серииЗадача...

143