Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyswietlanie funkcji, na tej samej stronie.
SoulRipper
post
Post #1





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 15.03.2003
Skąd: lodz

Ostrzeżenie: (0%)
-----


Napisalem sobie skrypt js, poprzeplatany z php i napotkalem jeden problem. Chodzi o to, ze jak klikam na przycisk to zdarzenie onClick wywoluje funkcje ktora generuje nowy formularz na podstawie danych z poprzeniego. Wszystko dziala, tylko jak klikam button, to nowy formularz wyswietla mi sie na nowej stronie. Nie ma zadnych styli zaladownych itd. Ja bym chcial zeby caly skrypt niezaleznie od akcji dzial sie na jednej stronie, a nie przenosil uzytkownika w jakies inne miejsca.

Hilfe:)

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
revyag
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

Ostrzeżenie: (0%)
-----


Bez obejrzenia kodu się nie obejdzie, więc wstaw go, albo daj jakiegos linka.


--------------------
-------------

------
Go to the top of the page
+Quote Post
SoulRipper
post
Post #3





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 15.03.2003
Skąd: lodz

Ostrzeżenie: (0%)
-----


Kod
<?
$menus = mysql_num_rows(mysql_query("SELECT * FROM link"));
$submenus = mysql_num_rows(mysql_query("SELECT * FROM submenu"));
$count_submenu = mysql_query("SELECT * FROM link WHERE submenu='1'");
?>
<HTML>
<HEAD>

</HEAD>
</BODY>
<form name=addMenu>

<table>
<tr>
<td>
    Wybierz kategorie:
</td>
<td>     
    <?
if ($count_submenu == 0)
{    
    echo "Brak linków odwoływujących się do submenu";
}    
else
{
    while($show_submenu = mysql_fetch_array($count_submenu))
    {
  echo '<input type="radio" name="id" value="'.$show_submenu[0].'" onClick="getSub(this)">'.$show_submenu[1].'<BR>';
    }
}
?>
</td>
<tr>
<td>
Podaj ilosc nowych linków
</td>
<td>
<input type=text name=amount>
</td>
<tr>
<td colspan=2>
<input type=button name=setMenu onClick="chkInt(this) " value=OK>
</td>
</table>
</form>

<script TYPE="text/javascript" LANGUAGE="JavaScript">
<!--
var i
var x = 0

function chkInt(button)
{
    var objekt = document.addMenu.amount.value
  var liczba = parseFloat(objekt)
    if(isNaN(liczba) || objekt == ""){
    
  alert("Błąd! Wprowadź liczbę")
  }    
    else
    {
  genMenu()
  button.disabled=true
    }

}

function genMenu()
{
  for (var a = 0; a < document.addMenu.id.length; a++)
    {
  if(document.addMenu.id[a].checked)
  {
     break
  }
    }
    
    var textValue = document.addMenu.amount.value
    var radioValue = document.addMenu.id[a].value
    document.write("<form method=post action=main.php?action=link_addsub name='addSub'><input type=hidden name=ilosc value="+textValue+"><input type=hidden name=id value="+radioValue+">")
    while (x < textValue)
    {
        var count_reg = <? echo $menus+$submenus+1?> + x;
        x++;
     document.write("<input type='text' name=nazwa_"+x+" value='link "+x+"'><input type='text' name=art_id_"+x+" value="+ count_reg +"><input type='text' name=kolejnosc_"+x+" value="+x+"><BR>");
    }
    
    document.write("<input type=submit value=OK name='dalej'")
    document.write("</form>")
  
}
// -->
</SCRIPT>
<?
if($_POST['dalej'] == "OK")
{
  $ile = 0;
  while ($ile < $_POST['ilosc'])
  {
     $ile++;
     $nazwa = $_POST['nazwa_'.$ile];
    $id = $_POST['art_id_'.$ile];
     $kolejnosc = $_POST['kolejnosc_'.$ile];
     $ref = $_POST['id'];
     mysql_query("INSERT INTO submenu (nazwa,art_id,referer,kolejnosc) VALUES ('$nazwa','$id','$ref','$kolejnosc');");
      
  }
  if(mysql_affected_rows() == "1")
  {
     echo "Dodano pozycje w Sub Memu!";
  }
  else
  {
     echo "<div class=error>Bł±d podczas wykonywania zapytania.</div>";
    }
}
?>
</BODY>
</HTML>


Caly kodzik. Moze wydac sie troche 'zakrecony', ale dziala smile.gif
Moj problem tyczy sie funkcji genMenu()
Go to the top of the page
+Quote Post
revyag
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

Ostrzeżenie: (0%)
-----


To dlatego że używasz document.write.
Zrób sobie diva, i w nim zapisuj formularz.
Będzie to wyglądało tak:
Kod
document.getElementById("divform").innerHTML+="<form method=post action=main.php?action=link_addsub name='addSub'><input type=hidden name=ilosc value="+textValue+"><input type=hidden name=id value="+radioValue+">";

  1. <div id="divform"></div>


--------------------
-------------

------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 18:24