Autor Zpráva
ajajaj
Profil
Ahoj všem, prosím o radu jak vypsat v ajaxové odpovědi hodnotu z pole session do #nového inputu. Následující kod zatím funguje dobře, po "brlurnutí" inputu se zeptá jestli v tabulce existuje záznam ( jde o kontrolu stringu v URL ) a vypíše odpověď. Když je vše v pořádku, tak zaktivuje submit. Samozřejmě to mám ohlídané i přes php a mysql. Hodnota session #novém inputu by měla jít znovu přepsat (právě pro případ duplicity v tabulce) a ještě zkontorlovat jestli už nový string vyhovuje.

check-url.php předá response a začne session. Možná to mám zbytečně složité a existuje i jednodušší způsob.
if (!mysql_num_rows($result)) {
session_start();
$_SESSION['response']=array("url" => "$url",...);
print "success";} else { print "smula";}
}


S fíčurama na základě JS teprve začínám, vždycky jsem se jich spíš bál, ale pokrok se nedá zastavit ;)

$("#naz").blur(function() {


        var form_data = {
            nazev: $("#naz").val(),
            is_ajax: 1
        };

        $.ajax({
            type: "POST",
            url: "./check-url.php" ,
            data: form_data,
            success: function(response)
            {
                if(response == 'success')
                     {$("input[type=submit]").removeAttr("disabled");
                       $("#message").html("<span class='success'>může být!</span>");

                    }
                else{
                                                                      $("#addform input[type=submit]").attr("disabled", "disabled");
                    $("#message").html("<span class='error'>špatná url</span>");
            }}
        });

        return false;
    });
ajajaj
Profil
vyřešeno nakonec bez session:

php:
if (!mysql_num_rows($result)) {

print "<span class=\"url passed\"><i>."/</i><input]http://".$_SERVER['HTTP_HOST']."/</i><input id=\"ajaxURL\" type=\"text\" value=\"$url\">znaků:&nbsp;$delka</span>";} else {

$maxid = mysql_result(mysql_query("SELECT COUNT(*) FROM table WHERE xxx='".mysql_real_escape_string($_POST[xxx'])."' "), 0)+1;
$url="$maxid-$url";
$delka=strlen($url);
print "<span class=\"url wrong\"><i>."/</i><input]http://".$_SERVER['HTTP_HOST']."/</i><input id=\"ajaxURL\" type=\"text\" value=\"$url\">znaků:&nbsp;$delka</span>";}
}

}


ajax:
$.ajax({type: "POST",url: "../check-url.php",data: form_data, dataType: "html",
  success: function(data) { ... výstup html ze souboru .php


ale pokud bude mít někdo lepší nápad, sem s ním, pls...


... částečně vyřešeno, ješte koumám jak znovu zkontrolovat duplicitu když se změní řetězec v inputu kterej je výstupem z check-url.php

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: