Avatar billede Calle5463 Forsker
15. marts 2012 - 22:59 Der er 37 kommentarer og
1 løsning

Løber panden imod, så ser frem til ...

..at en behjertet sjæl lige hjælper mig videre. Måske min ubehjælpelige kode allerede beskriver hvad jeg vil, men ellers:

Når jeg indtaster tlf, skal det tjekkes om det er et korrekt nr (det har jeg styr på, derfor det afstumpede tjek). derefter skal der tjekkes i min lille tabel "data" om jeg allerede kender personen. Hvis ja skrives navnet i navnefeltet, ellers skal hun bede om det (fx. skrive "be om" ved siden af feltet).

<html>
<head>
  <title>Trial-1, onblur-test</title>
</head>

<?PHP
  include_once("connect.php");
?>

<script type="text/javascript">
<!--
function jstest(selectd){
  if(selectd == "") {
    alert("Venligst indtast telefonnummer");
    document.jette.tlf.focus();
    return (false);
  }
}
//-->
</script>

<?PHP
  function phptest() {
    $sql_navn="SELECT navn FROM data WHERE tlf=???";
    $result=mysql_query($sql_navn);
    if(!$result) rapporter_fejl($sql, mysql_error());
    $number_of_rows=mysql_num_rows($result);
    // if($number_of_rows == 0){
    //  ??? document.jette.navn.focus();
    // } else {
    //  ??? document.jette.navn.value= ???;
    // }
  }
?>

<body>

<form name="jette">
  Tlf:
  <input type="text" name="tlf" onBlur="jstest(this.value);">
  Navn:
  <input type="text" name="navn">
</form>

</body>
</html>
Avatar billede Calle5463 Forsker
16. marts 2012 - 09:51 #1
Hov!  Vil det virke at gøre ca. sådan her og kan jeg kalde jstest() fra phptest()?

<form name="jette">
  Tlf:
  <input type="text" name="tlf" onBlur=submit; onSubmit=phptest()>
</form>
Avatar billede Calle5463 Forsker
16. marts 2012 - 10:24 #2
- eller er det en dårlig ide at gøre det på den måde. Hvis man bliver forstyrret midt i indtastningen risikere jeg at den sender ufuldstændige data.
Avatar billede olsensweb.dk Ekspert
18. marts 2012 - 14:58 #3
jeg ville nok kigge på AJAX
jstest skulle så via ajax kalde serveren med value som parameter, og få svaret retur feks 0 hvis nummeret ikke er kendt og 1 hvis nummeret er kendt, så er det "bare" i js gøre noget med det svar

man kunne gører sådan her:


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title></title>
<style type="text/css">
</style>
<script type="text/javascript">
function jstest(selectd){
    if(selectd == "") {
        alert("Venligst indtast telefonnummer");   
        document.jette.tlf.focus();
        return (false);
    }
    // ajax del
    GetAjaxData(selectd);
}

function GetAjaxData(Val){   
    var url = "request.php";       
    var params = "id="+Val;
       
    http = new XMLHttpRequest();
    http.open("POST", url, true);
    //Send the proper header information along with the request
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", params.length);
    http.setRequestHeader("Connection", "close");
    http.send(params);
    http.onreadystatechange = function() {//Call a function when the state changes.
        if(http.readyState == 4 && http.status == 200) {
            // her sker alt det sjove :)
            var values = JSON.parse(http.responseText);
            var lng = values.length;                       
            if (lng > 0){               
                alert("nummeret kendt");
                document.jette.navn.value = values;
            }
            else{ 
                alert("nummeret ukendt, du skal indtaste flerer data");               
            }           
        }
    }       
}
</script>
</head>
<body>
<form name="jette" action="#" >
  Tlf:
  <input type="text" name="tlf" onblur="jstest(this.value);">
  Navn:
  <input type="text" name="navn">
</form>
</body>
</html>


request.php

<?php
$id = $_POST['id'];   
$navn ="";
$sql_navn="SELECT navn FROM data WHERE tlf=$id";
$rs = mysql_query($sql_navn);
if($rs){
    $row = mysql_fetch_assoc($rs);
    $name =  $row['navn'];
}
echo json_encode($navn);   
?>


her retunerer jeg bare et navn, og hvis det er blankt er brugeren ukendt

nb du bør nok overveje at bruge mysqli istedet for den gamle mysql API, læs feks olebole's guide om mysqli Prepared Statements under MySQLI - kom igang, også selvom du ikke anvender Prepared Statements bør du anvende mysqli, om ikke andet for at vende dig til det, kunne jo også være du ville bruge oop tilgangen som er i mysqli
Avatar billede olsensweb.dk Ekspert
18. marts 2012 - 14:59 #4
stavefejl
$name =  $row['navn'];
skulle være
$navn =  $row['navn'];
Avatar billede Calle5463 Forsker
18. marts 2012 - 17:07 #5
ronols:
et par ting

1)
Det kan ikke lide æøå i navnet

2)
Der kommer ingen alert for ukendt nummer - jeg kan ikke se hvorfor - nok pga 3) og 4)

3)
Nu fik jeg tilføjet endnu et ukendt fænomen - AJAX - som jeg sætte mig ind i!!

4)
Det er lidt sort snak når du nævner mySQLi og OOP - kan godt læse mig til at det er mere sikkert - endnu mere at sætte sig ind i
Avatar billede olsensweb.dk Ekspert
18. marts 2012 - 18:40 #6
1) jo den kan godt lide æøå, men det kræver du kører UTF-8, ajax understøtter ikke andre, så kør UTF-8 hele vejen rundt så får du ikke problemer
en nød løsning på dit nuværende problem, hvis det ikke er nok bare at angive et mysql_set_charset('utf8',$conn); i din db connection
$navn =  $row['navn'];
laves om til
$navn =  utf8_encode($row['navn']);

men det er kun en nødløsning, "det svare til at pisse i bukserne, det varmer kortvarigt", få styr på dit tegnsæt istedet, dvs
* dine sider skal værer encodet med UTF-8
* din side skal værer gemt som UTF-8 uden BOM
* dit meta tag på siden skal være <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
* dine data i db skal være i UTF-8
* din DB skal levere data i UTF-8 format

2) havde ikke tested med db, så bliver navn jo NULL :(
prøv dette
<?php
include "db_conn.php";
$id = $_POST['id'];   
$navn ="";
$sql_navn="SELECT navn FROM data WHERE tlf=$id";
$rs = mysql_query($sql_navn);
if($rs){
    $row = mysql_fetch_assoc($rs);
    $navn =  $row['navn'];   
}
if(strlen($navn)==0)$navn ="";
echo json_encode($navn);   
?>



db_conn.php
<?php
$conn = mysql_connect ("localhost", "root", "", true);
if (! $conn )     die( 'Could not connect: ' . mysql_error ());
mysql_select_db("test") or die('Could not select database ');
mysql_set_charset('utf8',$conn);
?>


test db
CREATE TABLE IF NOT EXISTS `data` (
  `tlf` int(11) NOT NULL,
  `navn` text COLLATE utf8_danish_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;
INSERT INTO `data` (`tlf`, `navn`) VALUES
(123, 'Palle Gulvballe'),
(456, 'Åse æøå'),
(789, 'Calle5463'),
(963, 'RonOls');


pakket ned som 1 fil http://experten.olsensweb.dk/959463/959463.zip
Avatar billede Calle5463 Forsker
18. marts 2012 - 19:43 #7
RonOls: Damn! Jeg er vist kommet i menneskehænder.

Nødløsninger er nødløsninger og på sigt dur det ikke - så dem undgår jeg helst.

Data i min tabel er INT(11) og utf8_danish_ci (var latin1_danish_ci). Den ligger hos one.com. De oplyser "MySQL Tegnsæt: UTF-8 Unicode (utf8)"

Om mine sider er encodet med UTF-8 og gemt som UTF-8 uden BOM er jeg har jeg pt ingen anelse om.

Det virkede i første forsøg undtagen på tabel-linier med æøå i navn - nu virker det slet ikke (dvs. jeg er udfordret lidt lige nu)

Når jeg har flg. meta-tag: <meta http-equiv="content-type" content="text/html; charset=utf-8"/> viser den firkanter i stedet for æøå - så her har jeg klart en udfordring.
Avatar billede olsensweb.dk Ekspert
18. marts 2012 - 20:33 #8
>utf8_danish_ci (var latin1_danish_ci).
så ved bliver de at være latin1_danish_ci

prøv at skimme denne tråd http://www.eksperten.dk/spm/955937
indlæg 8 11 13 17 24 29 36

hvis man viser din side i FireFox, får man kun firkanter istedet for æøå
årsagen er du mangler at angive et charset
<meta http-equiv="content-type" content="text/html; ISO-8859-1"/>
så burde det virke i FF også

så kortvarigt du forsøgte dig med
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
som du bør, og der viser den også forkert æøå

prøv at validerer din side http://validator.w3.org/check?uri=http%3A%2F%2Fcer-energi.dk%2F&charset=%28detect+automatically%29&doctype=Inline&group=0
ved validering får du en del nyttige oplysninger, og er din side valid vises den ensartet i diverse browsere. der findes andre browsere end IE, formindelig også blandt dine kunder
Avatar billede Calle5463 Forsker
18. marts 2012 - 22:14 #9
RonOls:

Det her -

<!DOCTYPE html>
<html>
<head>

<meta http-equiv="content-type" content="text/html; charset=utf-8"/>

</head>

<body>

<?php
include "db_conn.php";

$foresp=mysql_query("SELECT * FROM data");
while($post=mysql_fetch_array($foresp))
  echo "$post[tlf], $post[navn] <br>";
?>

</body>
</html>

- skriver det her:

123, Palle Gulvballe
456, Åse Blærerøv
789, Calle
963, RonOls
852, æøå
741, ÆØÅ

den sætter tilsyneladende Collation til latin1_danish_ci.
Så skal jeg "bare" have det andet til at virke på samme måde.

Jeg kan ikke helt forstå det du skriver om min hjemmeside - når jeg ser på den, viser den nydeligt æøå i både IE9 og FF. Men jeg har klart behov for at få valideret siderne inden længe, så måske jeg skulle bede om hjælp til det her på eksperten på et tidspunkt.
Avatar billede Calle5463 Forsker
19. marts 2012 - 09:44 #10
Sommetider er det godt at kunne påberåbe sig uvidenhed - man er ikke forpligtet udover evner. Og lige nu har jeg ikke overblik nok til at finde fejlen - jeg kan ikke i detaljer forstå hvad ajax'en laver. Er stadig lidt usikker på om data i min tabel kan bruges, men her virker det - får en liste med både æ, ø og å:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title></title>
<style type="text/css">
</style>

</head>
<body>

<?php
include "db_conn.php";

$foresp=mysql_query("SELECT * FROM Kunde");
while($post=mysql_fetch_array($foresp))
  echo "$post[kNr],
        $post[kNavn],
        $post[kAdresse1],
        $post[kAdresse2],
        $post[kPostnr],
        $post[kBy],
        $post[kFirma],
        $post[kCVR],
        $post[kTlf],
        $post[kMob],
        $post[kEmail],
        $post[kWWW] <br>";
?>

</body>
</html>




Det her virker ikke, men giver ingen fejlmeddelelser:

index.php

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title></title>
<style type="text/css">
</style>
<script type="text/javascript">
function jstest(selectd){
    if(selectd == "") {
        alert("Venligst indtast nr");   
        document.jette.nr.focus();
        return (false);
    }
    if((selectd < 10000000) || (selectd > 99999999)) {
        alert("Venligst indtast korrekt nr");
                  document.jette.nr.value = "";
        document.jette.nr.focus();
        return (false);
    }
    if(isNaN(selectd)) {
        alert("Kun tal - venligst indtast korrekt nr");
                  document.jette.nr.value = "";
        document.jette.nr.focus();
        return (false);
    }
    // ajax del
    GetAjaxData(selectd);
}

function GetAjaxData(Val){   
    var url = "request.php";       
    var params = "id="+Val;
       
    http = new XMLHttpRequest();
    http.open("POST", url, true);
    //Send the proper header information along with the request
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", params.length);
    http.setRequestHeader("Connection", "close");
    http.send(params);
    http.onreadystatechange = function() {//Call a function when the state changes.
          if(http.readyState == 4 && http.status == 200) {
          // her sker alt det sjove :)
              var values = JSON.parse(http.responseText);
              var lng = values.length;                       
              if (lng > 0){               
                  alert("nummeret kendt");
                  document.jette.navn.value = values; // OK
              } else {
                alert("nummeret ukendt, du skal indtaste flerer data");               
              }           
          }
        }       
}
</script>
</head>
<body>
<form name="jette" action="#" >
  Tlf:
  <input type="text" name="nr" onblur="jstest(this.value);">
  Navn:
  <input type="text" name="navn">
</form>
</body>
</html>


request.php

<?php
include "db_conn.php";

$id = $_POST['id'];   
$navn ="";
$adresse1="";
$adresse2="";
$postnr="";
$by="";
$firma="";
$cvr="";
$tlf="";
$mob="";
$email="";
$www="";

$sql_navn="SELECT kNr,
                  kNavn,
                  kAdresse1,
                  kAdresse2,
                  kPostnr,
                  kBy,
                  kFirma,
                  kCVR,
                  kTlf,
                  kMob,
                  kEmail,
                  kWWW
          FROM Kunde
          WHERE kNr=$id";

$rs = mysql_query($sql_navn);
if($rs){
    $row = mysql_fetch_assoc($rs);
    $navn =  $row['kNavn'];
    $adresse1 = $row['kAdresse1'];
        $adresse2 = $row['kAdresse2'];
        $postnr = $row['kPostnr'];
        $by = $row['kBy'];
        $firma = $row['kFirma'];
        $cvr = $row['kCVR'];
        $tlf = $row['kTlf'];
        $mob = $row['kMob'];
        $email = $row['kEmail'];
        $www = $row['kWWW'];
}
if(strlen($navn)==0) $navn ="";
echo json_encode($navn);

// Er nedenstånede korrekt - hvordan gøres det i GetAjaxData()?
// Det må kunne gøres mere effektivt - men først skal det her virke
// echo json_encode($adresse1);
// echo json_encode($adresse2);
// echo json_encode($postnr);
// echo json_encode($by);
// echo json_encode($firma);
// echo json_encode($cvr);
// echo json_encode($tlf);
// echo json_encode($mob);
// echo json_encode($email);
// echo json_encode($www);

?>
Avatar billede olsensweb.dk Ekspert
19. marts 2012 - 11:55 #11
#9 Jeg kan ikke helt forstå det du skriver om min hjemmeside
min browser var fucked up :(, var nød til at lave en ny brugerprofil på maskinen, så virker den igen


det nemmeste vil værer at overfører et Associative array, jeg har her brugt et array af Associative array, hvis man på et tidspunkt vil retunerer flere kunder samtidig
jeg har ikke taget alle felterne med i min test, men du kan se princippet.

for at overfører speciel tegn med AJAX feks æøå skal de værer UTF-8 incodet, du kan så decode disse clientside med utf8_decode så de bliver iso

men prøv at få det til at virke på din lokale maskine først, og så kan du ligge det op på one.com, og evt slås med dem vedr. tegnsæt

lidt hurtigt lavet
request.php
<?php
include "db_conn.php";
$id = $_POST['id'];   
$info=array();
// $sql_navn="SELECT kNr, kNavn, kAdresse1, kAdresse2, kPostnr, kBy, kFirma, kCVR, kTlf, kMob, kEmail, kWWW FROM Kunde WHERE kNr=$id";
$sql_navn="SELECT kNr, kNavn, kPostnr, kBy FROM Kunde WHERE kNr=$id";
$rs = mysql_query($sql_navn);
while($row = mysql_fetch_assoc($rs)){
    $info[]=array("Navn"=>$row['kNavn'], "Postnr"=>$row['kPostnr'], "Bynavn"=>$row['kBy']);
}
echo json_encode($info);   
?>


function GetAjaxData(Val){    
    var url = "request.php";       
    var params = "id="+Val;
       
    http = new XMLHttpRequest();
    http.open("POST", url, true);
    //Send the proper header information along with the request
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", params.length);
    http.setRequestHeader("Connection", "close");
    http.send(params);
    http.onreadystatechange = function() {//Call a function when the state changes.
        if(http.readyState == 4 && http.status == 200) {
            // her sker alt det sjove :)
            var values = JSON.parse(http.responseText);
            var lng = values.length;           
            if (lng > 0){               
                // hvis der havde været flere poster skulle der være en for løkke her
                // for (var j=0,i=lng; j<i; j++) {
                alert("nummeret kendt");
                document.jette.postnummer.value = values[0]['Postnr']; // values[j]['Postnr'];
                document.jette.bynavn.value = values[0]['Bynavn'];                       
                document.jette.navn.value = values[0]['Navn'];
                //}

            }
            else{ 
                alert("nummeret ukendt, du skal indtaste flerer data");               
            }
        }
    }
}


test data
CREATE TABLE IF NOT EXISTS `kunde` (
  `kNr` int(11) NOT NULL,
  `kNavn` text COLLATE utf8_danish_ci NOT NULL,
  `kPostnr` int(4) NOT NULL,
  `kBy` text COLLATE utf8_danish_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;

INSERT INTO `kunde` (`kNr`, `kNavn`, `kPostnr`, `kBy`) VALUES
(123, 'RonOls', 2700, 'Brønshøj'),
(456, 'Mogens', 1236, 'ØlbyLyng'),
(456, 'tja', 2500, 'valby');


komplet eks pakket som en fil http://experten.olsensweb.dk/959463/kunder.zip
Avatar billede Calle5463 Forsker
20. marts 2012 - 10:36 #12
Jeg har sat vores teknikere på sagen. Jeg vender tilbage så snart der er
nyt i sagen.

Med venlig hilsen / Best Regards

SUPPORTEN
----------------------------------
One.com
Avatar billede olsensweb.dk Ekspert
20. marts 2012 - 16:57 #13
mens du venter på One.com supporten, så kan du lige rette følgende på din hjemmeside (kun set forsiden)

flyt
<body bgcolor=#d0d0d0>

op over
<!-- Start på top-banner -->

rette
fra <meta http-equiv="content-type" content="text/html; charset=utf-8_danish_ci"/>
til <meta http-equiv="content-type" content="text/html; charset=utf-8">

kigge på noget css, meget er af din style er forældet, det er design med tabeller i øvrigt også :)
tabeller til tabulærer data ikke design


den udskrift du ønskede i #9 ser du her http://experten.olsensweb.dk/959463/showall.zip
jeg har lavet det i 2 vertioner
1 som std js ( index1.html )

2 som jquery ( index_jq.html ) hvis du på sigt vil bruge jquery, du skal dog være opmærksom at jquery fylder 100K, så lige nu er det meget overhead for så lidt.
Avatar billede Calle5463 Forsker
21. marts 2012 - 00:29 #14
Tabeller: Ved det. Men det fungere (til mit behov).

Har skiftet til utf-8
Avatar billede Calle5463 Forsker
21. marts 2012 - 09:15 #15
Jeg har lavet en kopi af min egen tabel og fjernet alle æøå.

Liste: request.php finder data, men index1.html udskriver kun overskrifter
Avatar billede Calle5463 Forsker
21. marts 2012 - 09:20 #16
Hov - index_jq virker
Avatar billede Calle5463 Forsker
21. marts 2012 - 10:04 #17
Fra one.com:
Problemet er at du i dit javascript vil sætte en værdi for 3 andre
felter, men 2 af disse felter er ikke eksisterende:

document.jette.postnummer.value = values[0]['Postnr'];
document.jette.bynavn.value = values[0]['Bynavn'];
document.jette.Navn.value = values[0]['Navn'];

Kun feltet "Navn" eksistere i formen som er navngivet Jette. Hvis du
retter dette, burde scriptet fungere.
Avatar billede olsensweb.dk Ekspert
21. marts 2012 - 13:59 #18
#15 læg index1.html op på din side så jeg kan se den, du må have lavet en fejl i den for den virker hos mig
vi burde kunne udelukke fejlen ligger i request.php da index_jq.html virker, og de anvender jo samme request.php.

#17 ja det er da klart, at der skal laves 2 felter mere, det regnede jeg med du havde lavet. (havde regnet med du tog filen fra kunder.zip som jeg lavede i #11)
men fik de løst dit problem med æøå ??
Avatar billede Calle5463 Forsker
21. marts 2012 - 22:34 #19
Nederst tv på siden - håber det er det du mener

#17 Jeg har lavet to felter mere - det hjalp ikke.

Hvis jeg indsætter -

$id = $_POST['id'];
$id = 61348083;

- kan request finde mig. Er det $_POST['id'] der er tom?
Avatar billede olsensweb.dk Ekspert
22. marts 2012 - 10:20 #20
hurtigt gennemset og ikke tested
index1.html vs index_jq.html:
du skriver index_jq virker og der anvender du request_kundedata.php som request fil men i index1 anvender du request.php er request_kundedata.php og request.php ens ?? det skal de være
så prøv at ændre request.php til request_kundedata.php i index1.html


i index.html bruger du request.php peger den på den rigtige db ??


nb: xkundeliste og xsagsliste kan jeg ikke bruge til ret meget, så skal jeg selv lave hele db alligevel for at teste, skulle det være noget skulle det være et sql udtræk

men jeg glæder mig da over du på udtrækket med jquery får æøå med :)
Avatar billede Calle5463 Forsker
22. marts 2012 - 11:24 #21
#20: Har ændret så det er request_kundedata.php i begge - det hjalp desværre ikke

æøå: :-) man skal altid tilstræbe mindst een succes ved hver test - det holder humøret oppe.
Avatar billede Calle5463 Forsker
22. marts 2012 - 11:45 #22
- har læst dine forslag igennem igen, men er desværre ikke skarp nok til at kunne gennemskue, så selv stavefejl/stort/lille bogstav kan drille mig - jeg forsøger men må beklage (prøver selvfølgelig igen)
Avatar billede olsensweb.dk Ekspert
22. marts 2012 - 12:06 #23
nu kommer der data på alle sammen :)

men i index.html, bør man nok slette indholdet af adresse1, postnummer, bynavn hvis nummeret er ukendt, ellers står der jo stadig data fra den tidligere post
utested
if (lng > 0){
    alert("nummeret kendt");
    document.jette.navn.value = values[0]['Navn'];
    document.jette.adresse1.value = values[0]['Adresse1'];
    document.jette.postnummer.value = values[0]['Postnr'];
    document.jette.bynavn.value = values[0]['Bynavn'];
} else {
    alert("nummeret ukendt, du skal indtaste flerer data");
    document.jette.adresse1.value = "";
    document.jette.postnummer.value = "";
    document.jette.bynavn.value = "";

}
Avatar billede Calle5463 Forsker
22. marts 2012 - 12:30 #24
#23 ?? index (AJAX) og index1 på min side virker ikke for mig  - virker det hos dig?
Avatar billede olsensweb.dk Ekspert
22. marts 2012 - 12:45 #25
index1 ja

index ja prøv at søge på feks disse nr
61348083
61348084

henter sine data fra request_kundedata.php
du skulle nok overveje at slette din browser cache
Avatar billede Calle5463 Forsker
22. marts 2012 - 13:21 #26
# 25 - mine browser slettet, det hjalp :-) (har også ændret indstillinger)
smid et svar :-)
Avatar billede olsensweb.dk Ekspert
22. marts 2012 - 13:27 #27
må vi hellere få lukket denne tråd
Avatar billede Calle5463 Forsker
07. april 2012 - 23:48 #28
- underligt. Nu har ovenstående ajax-løsning fungeret et stykke tid, og pludselig virker det ikke mere: 'JSON' er ikke defineret.
Jeg har tilføjet et script - kollidere de?


function toggleButtons(caller)
{
  if (formOldValues[caller.name] != caller.value)
  {
    var myButtons = document.getElementById("FormButtons");
    myButtons.style.display = "";
  }
}

function enableValidation() {
    var myForm = document.getElementById("jette");
    var fieldTypes = ["input", "textarea"];

    for (var i=0,j=fieldTypes.length; i<j; i++) {
        var fields = myForm.getElementsByTagName(fieldTypes[i]);
        for (var m=0,n=fields.length; m<n; m++) {
            var field = fields.item(m);
            if (field.className.indexOf("NoValidate") < 0) {
                field.onchange = toggleButtons;
            }
        }
    }
}

function toggleButtons(caller) {
    if (this.defaultValue != this.value) {
        var myButtons = document.getElementById("FormButtons");
        myButtons.style.display = "";
    }
}
Avatar billede olsensweb.dk Ekspert
08. april 2012 - 01:08 #29
kom lige med en link til en test side, så coden kan ses i sammenhæng
Avatar billede Calle5463 Forsker
08. april 2012 - 09:59 #30
http://cer-energi.dk/Kundeadm-live/index.php
Prøv også med sagnr 1, 2 eller 3 (testsager)
Avatar billede olsensweb.dk Ekspert
08. april 2012 - 11:37 #31
start med at validerer din side
http://validator.w3.org/check?uri=http%3A%2F%2Fcer-energi.dk%2FKundeadm-live%2Findex.php&charset=%28detect+automatically%29&doctype=Inline&group=0&user-agent=W3C_Validator%2F1.3
http://jigsaw.w3.org/css-validator/

var lige oppe at køre men så lavede du en opdate og slettede alle data
   
nu får jeg denne fejl
et tomt array (ingen JSON fejl) en besked om data ikke findes
og document.jette.kNavn.value = ""; feltet ikke findes

du har så opdateret igen med nye data jeg får ingen fejl i testsagerne 1,2,3
Avatar billede Calle5463 Forsker
08. april 2012 - 11:43 #32
Undskyld - men jeg kom lige til at se, at de data jeg havde lagt med ud var "rigtige", så jeg har lige lavet nogle testdata - er færdig.
Avatar billede olsensweb.dk Ekspert
08. april 2012 - 11:55 #33
jeg får ingen fejl i testsagerne 1,2,3

ved 4 ukendt sag document.jette.kNavn.value = ""; feltet ikke
findes, samt den mangler at slette indholdet af de resterende felter, det sidste kan værer en følgefejl af at document.jette.kNavn.value ikke findes, (js stopper med at kører scriptet)
Avatar billede Calle5463 Forsker
08. april 2012 - 12:09 #34
sag 4 findes ikke - korrekt at jeg lige skal have tilføjet et par felter mere der skal blankes ved manglende sag

Får du data frem ved sagerne 1,2,3?
Avatar billede olsensweb.dk Ekspert
08. april 2012 - 12:14 #35
ja, og ingen js fejl
Avatar billede Calle5463 Forsker
08. april 2012 - 12:26 #36
så er der vel noget der tyder på det er min browser - i IE får  jeg ingen data men en fejlmeddelelse om 'JSON ikke defineret' - det virker i FF
Avatar billede olsensweb.dk Ekspert
08. april 2012 - 12:44 #37
hos mig virker den både i FF og IE
dog ser jeg IE ved ukendt sag (4), sletter felterne, men det gør FF ikke

IE
compability view fejl, ved 1,2,3 ingen data :(
browsermode 7 fejl ved 1,2,3 ingen data :(
browsermode 8 OK
browsermode 9 OK
Avatar billede Calle5463 Forsker
08. april 2012 - 12:54 #38
FF blanker felterne hos mig
(Eyeopener) Iøvrigt kan jeg bedre lide FF's "skarpere"  visning.
Shit - jeg havde ændret på kompatibilitetsvisning i IE - nu virker det
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester