2013-12-12 68 views
0

我想從可點擊的div容器中將數據填充到文本框中。 以下所有代碼都存在於同一個文件「schedule.php」中。如何將數據從可點擊的div填充到文本框?

jQuery的功能是:

$(document).ready(function(){ 
$("#listItem1").click(function(){ 
    var selectedAddress = $("#listItem1").attr("value"); 
    $.post("schedule.php",selectedAddress,function(selectedAddress){ 
    addressSelect($("#listItem1").attr("value")); 
    }); 

}); 
}); 

PHP代碼存在於同一個文件:

<?php 
    function addressSelect($selectedAddress) { 
$selectedAddress=$_POST['$selectedAddress'];  
//echo $selectedAddress; 
    if(isset($selectedAddress)) list($fromName, $fromAddress, $fromCity,  $fromState, $fCountry, $fromZip, $fromPhone) = explode("$$$", $selectedAddress); 
    } 
?> 

我不能來填充它。我試圖使用$ .ajax也...但沒有幫助..我該怎麼做才能填充文本框。

的HTML是這樣的:

<table CELLSPACING=0 CELLPADDING=1 border=0 width=200> 
    <tr><td colspan=4 height=10></td></tr> 
    <tr> 
     <td width=7></td> 
     <td WIDTH=180 height=35><b>Name</b><font size="-1" color="#FF0000">*</font></td> 
     <td colspan=2 WIDTH=220> 
     <input NAME="fromName" TYPE="text" id="fromName" placeholder="Sender's Name" style="width:150px;" value="<?php echo $fromName;?>" MAXLENGTH="35" autofocus onBlur="ValidateName(fromName)"> 
     <span class="error"> <?php echo $fromNameErr;?></span> 
     </td> 
    </tr>  

    <tr> 
     <td></td> 
     <td height=35><b>Address</b><font size="-1" color="#FF0000">*</font></td> 
     <td> 
     <TEXTAREA NAME="fromAddress" COLS=30 ROWS=3 id="fromAddress" placeholder="Sender's Address" style="width:200px; height:130px; font-size:13px; font-family:Arial,sans-serif" onBlur="ValidateAddress(fromAddress)"></TEXTAREA> 
     <span class="error"> <?php echo $fromAddressErr;?></span> 
     </td>  
     <td rowspan=3 align="center"></td>  
    </tr> 

    <tr> 
     <td></td> 
     <td height=35><b>Landmark</td> 
     <td> 
     <input NAME="fromLandmark" TYPE="text" id="fromLandmark" placeholder="optional" style="width:150px" value="<?php echo $fromLandmark;?>" MAXLENGTH=45> 
     </td> 
    </tr> 

    <tr> 
     <td></td> 
     <td height=35><b>City</b><font size="-1" color="#FF0000">*</font></td> 
     <td> 
     <input NAME="fromCity" TYPE="text" id="fromCity" placeholder="Source City" style="width:150px" value="<?php echo $fromCity;?>" MAXLENGTH=35> 
     </td> 
    </tr> 

    <tr> 
     <td></td> 
     <td height=35><b>State</b><font size="-1" color="#FF0000">*</font></td> 
     <td colspan=2> 
     <input NAME="fromState" TYPE="text" id="fromState" placeholder="State of Source City" style="width:150px" value="<?php echo $fromState;?>" MAXLENGTH=25> 
     </td> 
    </tr> 

    <tr> 
     <td></td> 
     <td height=35><b>Zip</b><font size="-1" color="#FF0000">*</font></td> 
     <td colspan=2> 
     <input NAME="fromZip" TYPE="text" id="fromZip" placeholder="Pin Code" style="width:90px" value="<?php echo $fromZip;?>" MAXLENGTH=15 onBlur="ValidateZip(fromZip)"> 
     <span class="error"> <?php echo $fromZipErr;?></span> 
     </td> 
    </tr> 

    <tr> 
     <td></td> 
     <td height=35><b>Country</b></td> 
     <td colspan=2> 
     <select NAME="fromCountry" id="fromCountry" disabled="disabled"> 
     <?php populate_country();?> 
     </select></div></td> 
     </td> 
    </tr> 

    <tr> 
     <td></td> 
     <td height=35><b>Phone</b><font size="-1" color="#FF0000">*</font></td> 
     <td colspan=2> 
     <input NAME="fromPhone" TYPE="text" id="fromPhone" placeholder="Sender's Phone no." style="width:150px" value="<?php echo $fromPhone;?>" MAXLENGTH=15 onBlur="ValidatePhone(fromPhone)"> 
     <span class="error"> <?php echo $fromPhoneErr;?></span> 
     </td> 
    </tr> 

    <tr><td colspan=4 height=10></td></tr> 
    </table> 
     <?php /*?><td style="border-right:1px solid #b2b2b2; font-size:1px; background-color: #fafafa">&nbsp;</td><?php */?> 
    </tr> 
    <tr> 
     <td width=6 height=6></td> 
     <?php /*?><td height=6 style="border-bottom:1px solid #b2b2b2; font-size:1px; background-color: #fafafa">&nbsp;</td><?php */?> 
     <td width=6 height=6></td> 
    </tr> 
    </table><!-- End of From Address container table--> 
+0

請提供您的HTML –

+0

如果#listItem1是一個div,那麼你將不會有屬性值。而是使用$(「#listItem1」)。html() –

+0

@MazIqbal,listItem1在div內。所以,div將整個地址顯示爲一個塊。點擊它後,地址內的值應該被解析並填充到名稱,地址,城市等文本框中... –

回答

0

我想你想將數據複製在瀏覽器上,而不是在服務器上。您可以使用以下JQuery代碼來完成它:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"> 
</script> 
<script language="javascript" type="text/javascript"> 
    function copyData(divId, textBoxId) { 
     content = $("#" + divId).html(); 
     $("#" + textBoxId).val(content); 
    } 
</script> 
<body> 
    <div id="my-div" onclick="copyData('my-div', 'my-text-box');"> 
     This the data to be copied. 
    </div> 
    <input type="text" id="my-text-box" name="myTextBox"/> 
</body> 
+0

謝謝,但內容不應被複制到單個文本框中,它必須被解析並填充在不同的文本框中以相同的形式。這就是爲什麼我寫了PHP代碼。 –

+0

我同意@ user2298875,爲什麼您需要一個像這樣簡單的服務器端腳本?只需使用JQuery或JavaScript(首選JQuery)並完成。 KISS原則,記得嗎? –

+0

@BasitSaeed我嘗試了上面給出的解決方案,但它不工作....變量內容未定義。我試圖通過警報(內容)打印它,並向我展示「未定義」。 –

1

@ user2298875提供的代碼存在一個小錯誤。更改

content = $("#" + divId).innerHTML; 
    $("#" + textBoxId).value = content; 

$("#" + textBoxId).val($("#" + divId).html()); 
+0

謝謝,但這不是工作....它不會產生任何結果。 –

+0

嘗試並控制日誌div的內容。你得到了什麼? –

相關問題