通过单击或其他方法更改输入标记值


Change input tag value on click or alternative method?

是一些PHP代码,用于打印Trade表中的数据行。每一行都像

用户名-报价-交易-日期-交易

TRADE是一个输入,当点击时,相关的PHP检查并相应地更新数据库。

如果POST等

$idn=strip_tags($_POST['buy']));
$query1=$db->prepare("SELECT * FROM tradeauction WHERE id=:buyid");
$query1->execute(array(':buyid'=>$idn));
等检查

///

这是包含TRADE输入/按钮的div:(我知道这可能是一个很长的路要走,但它的旧代码,我只是想把它整理一下,把整个网站从mysql转换成PDO。)

        <div class="buyrow left">
        <?PHP echo"<input class='"changeBlue'" onmouseover='"this.className='changeBlueoff'; document.getElementById('$ct->id').className='changeBlueoff''" 
    onmouseout='"this.className='changeBlue'; getElementById('$ct->id').className='changeBlue''" 
onclick='"this.value='$ct->id'; this.submit()'" type='"submit'" value='"Trade'" name='"buy'">"; ?> &nbsp; 
       </div>
    $ct->id

显然是行id。

类的变化只是改变按钮的颜色。

当前单击

时,它可以工作,但会向用户简短地显示id。我不希望这种事发生。我只想简单地说一直都在交易。(悬停时为蓝色)

我如何使值不显示时点击,但仍然通过PHP检查id值?或者有人能建议一个替代的,更简单的方法来实现这一点吗?

edit:对于交易中的每个ID(行),它将在HTML中打印-

<div id="cashtrades">
  <div class="trrow left"> <?php echo "<a href=profile.php?viewuser=$ct->username >$ct->username</a>"?></div>
  <div class="prrow left"><?PHP echo"$showname"; ?></div>
  <div class="ofrow left"><?PHP echo"$symbolcheck".makecomma($ct->item_amount)." $itemcheck"; ?> </div>
  <div class="exrow left"><?PHP echo"$exsymcheck".makecomma($ct->exchange_amount)." $exitemcheck"; ?></div>
  <div class="darow left"><?PHP echo"$ct->datepost"; ?></div>
  <div class="buyrow left"><?PHP echo"<input class='"changeBlue'" onmouseover='"this.className='changeBlueoff'; document.getElementById('$ct->id').className='changeBlueoff''" 
          onmouseout='"this.className='changeBlue'; getElementById('$ct->id').className='changeBlue''" 
          onclick='"this.value='$ct->id'; this.submit()'" type='"submit'" value='"Trade'" name='"buy'">";?>&nbsp;</div> 
  </div>

看看JQuery。您会发现它将彻底改变您与javascript的交互。如果你不确定所有的{}(){()}意味着什么,搜索Douglas Crockford并观看他的视频。

<div class="buyrow left"><?PHP echo"<input class='"changeBlue'" onmouseover='"this.className='changeBlueoff'; document.getElementById('$ct->id').className='changeBlueoff''" 
      onmouseout='"this.className='changeBlue'; getElementById('$ct->id').className='changeBlue''" 
      onclick='"this.value='$ct->id'; this.submit()'" type='"submit'" value='"Trade'" name='"buy'">";?>&nbsp;</div> 

  <div class="buyrow left">
// this is a new hidden input with the buy id 
<input type=hidden name=buy id=buyinput value=<?php echo $ct->id ?> >
//onclick Submit
<?PHP echo"<input class='"changeBlue'" onmouseover='"this.className='changeBlueoff'; document.getElementById('$ct->id').className='changeBlueoff''" 
      onmouseout='"this.className='changeBlue'; getElementById('$ct->id').className='changeBlue''" 
      onclick='"this.submit()'" type='"submit'" value='"Trade'" name='"anotherbuy'">";?>&nbsp;</div> 

这段代码很难读,我认为你应该用另一种方式来做,但是上面的内容应该可以解决你的问题。