2013-10-14 24 views
12

Có vấn đề với bất kỳ ai có ý tưởng nào không? Tôi chỉ đăng là cần thiết cho mã. Về cơ bản tôi có một biểu mẫu HTML tôi muốn kéo giá trị từ một trường trên biểu mẫu trước khi nó được gửi chạy một cuộc gọi ajax và điền vào một trường khác. Tôi nghĩ rằng nếu tôi có thể nhận được rằng Txt được nhập vào mẫu trên một biến PHP trên modcreate.php nó sẽ làm việc. bởi vì nếu tôi tự nhập các chi tiết mà không có biến nó hoạt động.Làm cách nào để chuyển giá trị biểu mẫu sang biến PHP với lời gọi AJAX?

mainpage.php

phần có liên quan từ hình thức

<tr> 
    <th>Service Tag:</th> 
    <th><input type="text" id="inputTag" name="inputTag" value="" onblur="this.value=this.value.toUpperCase()"></td> 
    </tr> 

<tr> 
    <th>Model:</th> 
    <th> 
     <input type="text" id="inputModel" name="inputModel" value=""> 
     <a href="#" id="updateBtn">Populate</a> 
     <div id="spinner"> 
      <img src="\images\ajax-load.gif" alt="Loading..."/> 
     </div> 
    </th> 
    </tr> 


<script type="text/javascript" src="\js\jquery-latest.js"></script> 
<script type="text/javascript"> 
$('#updateBtn').click(function(e) { 
    //to disable the click from going to next page 
    e.preventDefault(); 
    $.ajax({ 
     url: "modcreate.php", 
     data: { 'txt1': $('#inputTag').val() }, 
     success: function(data) { 
     } 
    }); 
}); 
</script> 

modcreate.php

<?php 

$field1value = $_GET['txt1']; 
    $file_string = file_get_contents('blahblah.com/'.$field1value); 
    preg_match("/<title>Product Support for (.+)\| Dell/i", $file_string, $matches); 
    $print = "$matches[1]"; 
    echo $print; 
?> 

****** Solution *** *** aja của tôi x gọi là thiếu một phần, nơi nó gửi dữ liệu trở lại với hình thức lĩnh vực

đây là những gì các ajax làm việc trông giống như bây giờ nhờ chàng trai cho tất cả các con trỏ

<script type="text/javascript" src="\js\jquery-latest.js"></script> 
<script type="text/javascript"> 
$('#updateBtn').click(function(e){ 
    //to disable the click from going to next page 
    e.preventDefault(); 
    $.ajax({ 
     url: "modcreate.php", 
     data: { 'txt1': $('#inputTag').val() }, 
     success: function(data) { 
      $('#inputModel').val(data); //this was the missing part 
     } 
    }); 
}); 
</script> 
+0

Modcreate.php có cung cấp cho bạn bất kỳ kết quả nào nếu bạn truy cập trực tiếp không? (ví dụ: điều hướng đến modcreate.php? txt1 = somethinghere – Joao

+0

Bạn phải định nghĩa phương thức AJAX của bạn 'type:" POST "' hoặc 'type:" GET "' –

+1

@AdamZapp - jQuery mặc định là 'GET' - không cần thiết –

Trả lời

1
<script type="text/javascript"> 
$('#updateBtn').click(function(e){ 
    //to disable the click from going to next page 
    e.preventDefault(); 
    $.ajax({ 
      url: "modcreate.php", 
      data: 'data="{ "txt1": '+$('#inputTag').val()+' }"', 
      success: function(data){ 


      } 
    } 
); 
}); 
</script> 

Về phía server:

$income_data = json_decode($_GET['data'], true); 
$field1value = $income_data['txt1']; 
+0

cảm ơn bạn tuy nhiên tôi chỉ nhận được nó làm việc trước khi nhìn thấy điều này bằng cách thêm $ ('# inputModel'). Val (dữ liệu); sau thành công ajax của tôi. Im không chắc chắn nếu nó sẽ làm việc với mã bạn cung cấp nhưng tôi sẽ giữ nó trong trường hợp tôi chạy vào các vấn đề với mã tôi đã làm việc. Trừ khi phương pháp bạn đăng có lợi thế hơn mã hoạt động của tôi? – user1548769

+0

Lưu ý dấu chấm phẩy bị thiếu vào cuối '$ field1value = $ income_data ['txt1'] '' để được đặt vào vị trí cuối cùng' '' – thefoxrocks

+0

@ McLean25 cảm ơn, cố định –

Các vấn đề liên quan