2013-10-14 45 views
12

有問題任何人有任何想法?我只發佈是代碼所必需的。我基本上有一個HTML表單,我希望從表單中的字段獲取值,然後再提交ajax調用並填充另一個字段。我認爲如果我能夠將該表單中輸入的Txt轉換爲modcreate.php中的PHP變量,它將起作用。因爲如果我手動輸入沒有變量的細節的話。如何通過AJAX調用將表單值傳遞給PHP變量?

mainpage.php

從形式

<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; 
?> 

******解

相關部分*** *** 我的aja X呼叫缺少它發送的數據回表單字段

這裏的部分是工作AJAX是什麼樣子,現在感謝你們所有的指針

<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給你任何結果,如果你直接去它? (例如:導航到modcreate.php?txt1 = somethinghere – Joao

+0

你必須定義你的AJAX方法'type:「POST」'或'type:「GET」' –

+1

@AdamZapp - jQuery默認爲'GET' - 設置它 – 2013-10-14 21:00:11

回答

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> 

在服務器端:

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

然而,我只是通過添加$('#inputModel')。val(data);在我的ajax成功之後。我不知道它是否會與你提供的代碼一起工作,但我會保持它incase我遇到問題與我工作的代碼。除非你發佈的方法比我的工作代碼有優勢嗎? – user1548769

+0

注意缺少'$ field1value = $ income_data ['txt1']''代替最後一個''''末尾的分號 – thefoxrocks

+0

@ McLean25謝謝,修正 –