javascript, jquery, php sorun.

3 Cevap php
<?
session_start();
include("connection.php"); 

if($_POST['continue']) {
    $x=$_POST['rules'];
}
?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link type="text/css" href="jquery-ui-1.7.2.custom.css" rel="stylesheet" />
        <script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
        <script type="text/javascript" src="jquery-1.3.2.js"></script>
        <script type="text/javascript" src="ui/ui.core.js"></script>
    <script type="text/javascript" src="ui/ui.draggable.js"></script>
    <script type="text/javascript" src="ui/ui.resizable.js"></script>
    <script type="text/javascript" src="ui/ui.dialog.js"></script>
    <script type="text/javascript" src="external/bgiframe/jquery.bgiframe.js"></script>

    <script type="text/javascript">

    function haha(form) {

    	if(form.rules.value==''){
        	printToPage('output','Please enter the rules.','text')
    		hello();
    		return false;

    	}
    	else{

        	myRedirect();
    		return false;
    	}
    }

    $(function() {
    	$("#dialog").dialog({
    		autoOpen: false,
    		bgiframe: true,
    		resizable: false,
    		draggable: false,
    		height:10,
    		width:340,
    		modal: true,
    		overlay: {
    			backgroundColor: '#000',
    			opacity: 0.5
    		},
    		buttons: {
    			'No': function() {

    				window.location = "so-rules.php";
    				return true;
    			},
    			'Yes': function() {
    				window.location = "so-rules.php";
    				return true;
    			}
    		}
    	});
    });

    function myRedirect() {

    	$("#dialog").dialog('open');
return true;
    }

    $(function() {
    	$("#dialog2").dialog({
    		autoOpen: false,
    		bgiframe: true,
    		modal: true,
    		resizable: false,
    		draggable: false,
    		height:160,
    		width:260,
    		buttons: {
    			Ok: function() {
    				$(this).dialog('close');
    			}
    		}
    	});
    });

    function hello() {

    	$("#dialog2").dialog('open');

    }

    function getElem(id) {
return document.all ? document.all(id) :
document.getElementById ? document.getElementById(id) :
document.layers ? document.layers[id] :
null;
}

function printToPage(id,content,classname) {
var el = getElem(id);
if (!el) return;
if (el.style) {
el.innerHTML = content;
if (classname) el.className = classname;
} else if (el.document) {
var SPANstr = (classname) ? '<span class="' + classname + '">' : '<span>';
el.document.write('haha');
el.document.close();
}
}
    </script>

</head>

<body>


   <td height="" bgcolor="#fafb91"><form onsubmit='return haha(form)' id="form" name="form" method="post" action="<? echo $PHP_SELF; ?>"> 
          <p class="style16">
          <div align="left">

            <p><span class="style5">Rules:</span>
              </p>

            <p>
              <textarea name="rules" rows="7" cols="49"></textarea>

              <br />
              <? echo "X: ".$_SESSION['x']; ?>
            </p>
            <div id="dialog" title="Attention">
    		<p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>Is the judge/speaker/facilitator from UST?</p>
    		</div>

    		<div id="dialog2" title="Attention">
    		<p>
    		<span class="ui-icon ui-icon-circle-check" style="float:left; margin:0 0 50px 0;"></span>
    		Please enter the rules.
    		</p>
    		</div>

            <p><input type="submit" name="continue" id="continue" value="Continue"> 
            <span id="output"></span>

</body>
</html>

textarea null olduğunda, formu teslim edilmelidir ($ PHP_SELF) öylesine i textarea değerini alabilirsiniz. gönderilmeden önce, ancak görünür bir iletişim kutusu olurdu. Kullanıcı evet tıkladığında, farklı bir sayfaya yönlendirileceksiniz. benim sorunum bana textarea değerini almak için sayfa sırasına göre teslim edilecek, böylece i nereye doğru dönüşünü koymak bilmiyorum. ben burada yanlış dönüşünü koydu:

if(form.rules.value==''){
            printToPage('output','Please enter the rules.','text')
            hello();
            return false;    
          }

textarea null olduğunda, formu teslim olmayacak ve farklı bir iletişim kutusu açılacaktır.

textarea ve sonra kullanıcı girişi şey o evet tıkladığında sayfasında sadece teslim edilecek, böylece nereye i dönüş doğru koymak gerekir.

Ben de doğru dönüşünü koyarak denedim ama tüm başarısız kodu dahil ettik. Bana yardım edin lütfen. Ben 3 gün boyunca bu düzeltmek için çalışıyorum. (

3 Cevap

Bir türü ise = "button" eylemi denetlemek için onclick olay kullanın

Ne soruyor ise: Nasıl hangi düğme tıklandığında POST tepki görebilirim?

Sonra siz formu göndermek için kullanılan Gönder düğmesini sadece ad ve değer $_POST veri listelenen ediliyor yapamam korkuyorum.

Ancak gizli bir alan ve javascript kullanarak bunu başarabilirsiniz. Yani buna benzer bir şey yapmak gerekir:

<input type="button" id="continue" value="Continue" onclick="document.getElementById('hiddenContinue').value = 'true';" />
<input type="hidden" name="continue" id="hiddenContinue" value="false" />

Yani düğmeye tıklandığında gizli alan ayarlanır true ve form gönderildiğinde o $_POST dizide görünür.

Düğmesine eklenen başka hiçbir onclick olaylar vardır Ancak, bu çok mantıklı değil.

Belki size yapmak çalıştığınız ne biraz daha açıklamak gerekir.

EDIT:

Eğer bir yenisine eski soru güncellenen yana, bu sorunun cevabı artık geçerli değildir.

Düğme girişler genellikle JavaScript ile yazılmış özel eylemler için kullanılır. Yani, bunlar Gönder girişler gibi bir formu göndermek yok. Sizin için formu göndermek VEYA gezinmek belirli bir PHP sayfası ve benzer etkiyi elde edecek bir JavaScript kodu yazabilirsiniz.