作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个用 PHP 填充的 html 表,现在它已填充并且有一个名为“更新”的按钮,每行还有一个字段具有“client_id”,还有一些字段具有文本框.
我现在想做的是,如果用户点击“更新”,它只会发布该行的那些值...我该怎么做?当他们点击“更新”时,它会发布所有行的所有字段?,我只想要单击更新按钮的行。
下面的代码
print("<table id='results'><tr><th>ID</th><th>Image</th><th>Name</th><th>Price</th><th>Price Label</th><th>Description</th><th>Update</th></tr>");
while($row2 = mysql_fetch_array( $result2 )){
$client_id = $row2["client_id"];
$client_name = $row2["client_name"];
$client_disc = $row2["client_disc"];
$client_price = $row2["client_price"];
$client_image = $row2["client_image"];
$client_price_label = $row2["client_price_label"];
print("<tr>");
print("<td>");
print("<p style='font-size:14px; color:blue; padding:0;'>$client_id</p>");
print("</td>");
print("<td>");
print("<img class='custom_rate' alt='' src='$client_image' />");
print("</td>");
print("<td width='100px'>");
print("<input type='text' value='$client_name' name='clientname'/>");
print("</td>");
print("<td>");
print("<input type='text' value='$client_price' name='clientprice'/>");
print("</td>");
print("<td width='100px'>");
print("<input type='text' value='$client_price_label' name='clientpricelabel'/>");
print("</td>");
print("<td width='100px'>");
print("<textarea cols='15' rows='2' name='description'>$client_desc</textarea>");
print("</td>");
print("<td width='100px'>");
print("<input type='submit' value='Update' name='update'/>");
print("</td>");
print("</tr>");
}
print("</table>");
最佳答案
您可以使每一行成为一个表单。但是,这将是无效的 HTML。不过,它仍然有效。
我会创建一些 javascript 来将行内输入的所有值提取到一个 json 对象中,然后通过 ajax 将该对象发送到服务器。
jQuery 将是我选择的库,除非您有更大的应用程序。
希望对您有所帮助...
更新:提供示例代码来提交一行的 json...
<script>
$(function(){
$( '.submit_button' ).click(function(){
var form_values = {};
$( this ).closest( 'tr' ).find( 'input, select' ).each(function(){
form_values[ $(this).attr('name') ] = $(this).val();
});
if( form_values.undefined ){
delete form_values.undefined;
}
$.post( "/test.php",
form_values,
function(data){
//success
alert( data );
},
"json"
);
});
});
</script>
更新:
我对我之前的回答不满意,所以我创建了一个独立的 html 文件来证明它有效。
https://gist.github.com/1367465
您不能像其他人建议的那样将标签包裹在 a 周围,因为它会破坏表格的 html。
关于php - 如何仅保存正在发布的行的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8118685/
我是一名优秀的程序员,十分优秀!