Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Dva input polja sa istom AJAX skriptom (problem sa ID-om)

  • 7 odgovora
  • 2.389 pregleda

Najnovija ↓

Dva input polja sa istom AJAX skriptom (problem sa ID-om) 24.11.2020. u 19:09 · pre 72 meseca #1
Pozdrav,

imam jedan problem sa kojim se mucim vec par dana. Naime nisam nesto strucan po pitanju Ajax-a, pa me zanima da li moze nekako da se modifikuje ovaj kod da radi. Kapiram da moze da se resi u dve linije koda, al sta cu kad ne znam :D

Koristim jednostavan kod za Ajax/JS live pretragu na sajtu i funkcionise odlicno, ali imam problem da ga pokrenem 2x na istoj strani. Prvi radi, drugi nece nikako. Shvatio sam da je problem u tome sto polja imaju isti ID. Pokusao sam da ga resim tako sto sam napravio novi .js fajl koji sam isto pozvao u .php ali normalno nece da radi :)

Dakle da pocnem:


U php pozivam <script type="text/javascript" src=http://www.sajt.rs/scripts.js"></script>

Sadrzaj scripts.js fajla je sledeci:
Code:

//Getting value from "ajax.php".

function fill(Value) {

   //Assigning value to "search" div in "search.php" file.

   $('#search').val(Value);

   //Hiding "display" div in "search.php" file.

   $('#display').hide();

}

$(document).ready(function() {

   //On pressing a key on "Search box" in "search.php" file. This function will be called.

   $("#search").keyup(function() {

       //Assigning search box value to javascript variable named as "name".

       var name = $('#search').val();

       //Validating, if "name" is empty.

       if (name == "") {

           //Assigning empty value to "display" div in "search.php" file.

           $("#display").html("");

       }

       //If name is not empty.

       else {

           //AJAX is called.

           $.ajax({

               //AJAX type is "Post".

               type: "POST",

               //Data will be sent to "ajax.php".

               url: "check.php",

               //Data, that will be sent to "ajax.php".

               data: {

                   //Assigning value of "name" into "search" variable.

                   search: name

               },

               //If result found, this funtion will be called.

               success: function(html) {

                   //Assigning result to "display" div in "search.php" file.

                   $("#display").html(html).show();

               }

           });

       }

   });

});


PHP forma u kojoj radi ovaj kod je sledeca:
Code:

 <div class="col-xs-12 mb-20">

                          <div class="heading-part align-center">
                              <h3 class="sub-heading">Unesi</h3>
                            </div>
                            <div class="col-sm-12">
              <input type="hidden"  name="a" value="uredjaj" />     
<input autocomplete="off" type="text" id="search" placeholder="Pretraži" name="id" value="" style="text-transform:uppercase" />
</div>
<div id="display"></div>
                        <button type="submit" name="submit" class="btn-color btn">Potvrdi</button>
                        </form>
                    </div>


Forma nije potpuno validna ali to nije problem ovde funkcionise kako treba. Zanima me kako sada da pozovem istu formu sa istom pretragom ali drugim ID-jem (da bi radilo), znaci da nekako modifikujem onaj prvi JS kod da kad unesem <div id="display2"></div>, znaci display2 da pozove istu formu. Kada je "display" ne radi jer ga ima 2x i to kapiram.

Hvala unapred!

Re: Dva input polja sa istom AJAX skriptom (problem sa ID-om) 25.11.2020. u 13:25 · pre 72 meseca #2
Moraš sve da dupliraš:

$('#search').val(Value);
$('#search2').val(Value);

$('#display').hide();
$('#display2').hide();

$("#search").keyup(function() {
... $("#display").html...
}

$("#search2").keyup(function() {
... $("#display2").html...
}

<input id="search" ... />
<div id="display"></div>

<input id="search2" ... />
<div id="display2"></div>
Re: Dva input polja sa istom AJAX skriptom (problem sa ID-om) 30.11.2020. u 11:10 · pre 72 meseca #4
Citat:
S A J A:
Moraš sve da dupliraš:

$('#search').val(Value);
$('#search2').val(Value);

$('#display').hide();
$('#display2').hide();

$("#search").keyup(function() {
... $("#display").html...
}

$("#search2").keyup(function() {
... $("#display2").html...
}

<input id="search" ... />
<div id="display"></div>

<input id="search2" ... />
<div id="display2"></div>


Hvala druže puno!

Pokušavao sam sa dupliranjem pre, ali očigledno nisam sve duplirao kako treba, ali evo sada radi perfektno!

Hvala još jednom!
Re: Dva input polja sa istom AJAX skriptom (problem sa ID-om) 25.12.2020. u 19:30 · pre 71 mesec #5
Pozdrav ljudi,

Nisam siguran da li postavljam pitanje na pravom mestu, pa me preusmerite ako grešim.
Imam skriptu za unos podataka u bazu, međutim potrebno mi je da jedan od unosa bude cela reč velikim slovima, a drugi unosi samo prvo veliko slovo svake reči.
Kod je u nastavku ,a treba mi "dob" velikim slovima, a "refn" i "refl" samo sa početnim velikim slovom. Pokušavao sam sa dodavanjem nekih funkcija ali ne radi. Pa ako može pomoć,hvala unapred.
Code:

<script>
function validate() {
    var valid = true;        
    $(".demoInputBox").css('background-color','');
    $(".info").html('');
    
    if(!$("#sif").val()) {
        $("#sif-info").html("(obavezno)");
        $("#sif").css('background-color','#FFFFDF');
        valid = false;
    }
    if(!$("#dob").val()) {
        $("#dob-info").html("(obavezno)");
        $("#dob").css('background-color','#FFFFDF');
        valid = false;
    }
    if(!$("#refn").val()) {
        $("#refn-info").html("(obavezno)");
        $("#refn").css('background-color','#FFFFDF');
        valid = false;
    }
    if(!$("#refl").val()) {
        $("#refl-info").html("(obavezno)");
        $("#refl").css('background-color','#FFFFDF');
        valid = false;
    }    
    
    return valid;
}
</script>
Re: Dva input polja sa istom AJAX skriptom (problem sa ID-om) 26.12.2020. u 13:02 · pre 71 mesec #7
Mozes da koristis toUpperCase().

Za validaciju velikih slova:
Code:

var value = $("#dob").val();
if(value != value.toUpperCase())  {
    valid = false;
}


Za pocetna velika slova:
Code:

var value = $("#dob").val();
if(value != value.split(' ').map(function(str) { return str.charAt(0).toUpperCase() + str.toLowerCase().slice(1)}).join(' '))  {
    valid = false;
}


Ceo kod:
Code:

<script>
function validate() {
    var valid = true;        
    $(".demoInputBox").css('background-color','');
    $(".info").html('');
    
    if(!$("#sif").val()) {
        $("#sif-info").html("(obavezno)");
        $("#sif").css('background-color','#FFFFDF');
        valid = false;
    }
    if(!$("#dob").val()) {
        $("#dob-info").html("(obavezno)");
        $("#dob").css('background-color','#FFFFDF');
        valid = false;
    }
    else   {
        var value = $("#dob").val();
        if(value != value.toUpperCase())  {
            $("#dob-info").html("(obavezna sva velika slova)");
            $("#dob").css('background-color','#FFFFDF');
            valid = false;
        }
   }
    if(!$("#refn").val()) {
        $("#refn-info").html("(obavezno)");
        $("#refn").css('background-color','#FFFFDF');
        valid = false;
    }
    else   {
        var value = $("#refn").val();
        if(value != value.split(' ').map(function(str) { return str.charAt(0).toUpperCase() + str.toLowerCase().slice(1)}).join(' '))  {
            $("#dob-info").html("(obavezna sva pocetna velika slova)");
            $("#dob").css('background-color','#FFFFDF');
            valid = false;
        }
   }
    if(!$("#refl").val()) {
        $("#refl-info").html("(obavezno)");
        $("#refl").css('background-color','#FFFFDF');
        valid = false;
    }    
    
    return valid;
}
</script>
Sviđa mi se1
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme