0

下面是我的代码,它工作正常......

<Script type="text/javascript">
function im()
{
    var Name=document.getElementById("Name").value;
    var pointsize=document.getElementById("pointsize").value;
    var format=document.getElementById("format").value;
    var bckclr=document.getElementById("bckclr").value;
    var color=document.getElementById("color").value;
    var bcolor=document.getElementById("bcolor").value;
    var font=document.getElementById("font").value;

    $(document).ready(function(){
        var url = 'Name='+Name+'&pointsize='+pointsize+
                  '&format='+format+'&bckclr='+bckclr+
                  '&color='+color+'&bcolor='+bcolor+
                  '&font='+font;

        alert(url);
        //-----Sending request to server for getting job name list by ajax-----
        $.ajax({
            type    : "POST",
            url : "i.php?",
            data    : url,              
            cache   : false,
            success : function(html) {
                //document.getElementById('Div_PJobId').style.display="block";
                //alert('hi');
                alert(html);
                var pic='<img src="'+html+'">';
                $("#Div_Im").html(pic).show();
            }
        });
    });
}
</script>

和PHP代码...

echo('Name: <input type="text" id="Name" onchange="im()" value="your name"  name="Name" />');

echo('pointsize: <input type="text" id="pointsize" onchange="im()" value="50" name="pointsize" />');

echo('format: <input type="text" id="format" value=".gif" onchange="im()" name="format" />');

echo('BackGround Color: <input type="text" id="bckclr" value="red" onchange="im()" name="bckclr" />');

echo('FontColor: <input type="text" id="color" value="white" onchange="im()" name="color" />');

echo('Border Color: <input type="text" id="bcolor" value="blue" onchange="im()" name="bcolor" />');

echo('<a href="./lang/ims.php"><img src="'.$image.'" height="82" width="82" /></a>');

echo('Font: <input type="text" id="font" value="'.$image1.'" onchange="im()" name="font" />');

echo ('<div id="Div_Im">');
echo('replace me');
echo ('</div>');

如您所见,我正在使用 AJAX 从服务器获取数据并在其正常工作的情况下显示,但每次进行更改时我都需要刷新 div 。

当我进行一些更改时如何刷新 div ......当数据来自服务器时,我还需要添加符号或加载图像......如何做到这一点?

4

2 回答 2

0

也许试试这个:

Javascript

<script type="text/javascript">
$(document).ready(function(){

  $('#theIMform input')
    .change(function(){
      // Automatically creates a Query String for all fields within the parent form
      formdata = $(this).closest('form').serialize();

      $.ajax({
        type : "POST" ,
        url : "i.php" ,
        data : formdata ,              
        cache : false ,
        error : function( jqXHR , textStatus , errorThrown ){
          // Something went wrong
        } ,
        success : function( data , textStatus , jqXHR ){
          $( "#div_im" )
            .hide()
            .html( '<img src="'+data+'">' )
            .show();

        }
      });
    });

});
</script>

PHP

?>
<form id="theIMform" name="theIMform">
  Name: <input type="text" id="Name" value="your name"  name="Name" />
  pointsize: <input type="text" id="pointsize" value="50" name="pointsize" />
  format: <input type="text" id="format" value=".gif" name="format" />
  BackGround Color: <input type="text" id="bckclr" value="red" name="bckclr" />
  FontColor: <input type="text" id="color" value="white" name="color" />
  Border Color: <input type="text" id="bcolor" value="blue" name="bcolor" />
  <a href="./lang/ims.php"><img src="<?php echo $image; ?>" height="82" width="82" /></a>
  Font: <input type="text" id="font" value="<?php echo $image1; ?>" name="font" />
</form>
<div id="div_im">replace me</div>
<?php
于 2012-09-21T09:06:28.940 回答
-1

当您更改页面元素时,它会自动刷新。

我认为你的问题是关于这条线

$("#Div_Im").html(pic).show();

因为您将 show 调用到 img 元素而不是 div 上。

尝试改变它

$("#Div_Im").html(pic);
$("#Div_Im").show();

此外,我建议您使用 jquery 来获取值,因此您需要 color=document.getElementById("color").value;更轻松地进行更改color = $('#color').val();

于 2012-09-21T08:51:13.110 回答