ajax请求后更改值!

时间:2010-05-04 09:17:29

标签: javascript jquery

如果我有3个html页面如下:

home.html的:

<form method="get">        
  <input class="someForm" type="radio" value="1" name="someForm" /> Name
  <input class="someForm" type="radio" value="2" name="someForm" /> Email
  <div id="container"></div>
  <input type="submit" />
</form>

<script type="text/javascript" src="jquery.js"></script>
<script>
  var ajaxResponse = new Object();
  $(document).ready(function () {
    $('.someForm').click(function () {
    var rbVal = $(this).val();
        var myContent;
        if (ajaxResponse[rbVal]) { //in cache
          myContent =  ajaxResponse[rbVal];
          $("#container").html(myContent);
        }
        else { // not in cache
      var urlForAjaxCall = "file" + rbVal + ".html"; 
          $.get(urlForAjaxCall, function (myContent) {
             ajaxResponse[rbVal] = myContent;
             $("#container").html(myContent);
          });
        }
      });
    });
</script>

的file1.html:

Name: <input type="text" name="name1" value="myName" />

file2.html:

Email: <input type="text" name="email2" value="myName@abc.com" />

我想要做的是当我点击(例如)单选按钮1并在相应的文本框(名称)“Alex”中写一些内容,然后单击home.html中的任何单选按钮然后单击单选按钮1然后我得到新值而不是获得“myName”,任何想法如何做到这一点? TIA

2 个答案:

答案 0 :(得分:0)

使用PHP,然后您可以使用查询字符串或通过jquery中的帖子传递值...

jquery的:

$.ajax({

   url:"file1.php",
   data:{name: $("#a_text_field_id_here").val()},
   success: function() {
     /// do something on success....
    }


});

即:

file1.php?name=Alex

并且您的file1.php页面会有类似

的内容
<?php 

if (isset($_GET['name'])) {
    $name = $_GET['name'];
} else {
    echo "Name is empty! do something here...";
}

?>
Name: <input type="text" name="name1" value="<? php echo $name;?>"/>

大多数网络服务器现在都有PHP了......你可以在你的PC上本地安装它来测试使用wampserver ..它配备了所有内容......只需在浏览器中安装run并转到localhost! ... c:\ wamp \ www是您的网站目录......

答案 1 :(得分:0)

由于你在这里寻找一个纯粹的html解决方案(我假设是这种情况),你可以通过在给定事件的表单上存储数据来解决它。

以下是概念证明: http://jsfiddle.net/2Anp3/1/