如何使用javascript获取要验证的PHP对象值?

如何使用javascript获取要验证的PHP对象值?,javascript,php,object,Javascript,Php,Object,我知道如何在javascript中使用简单的php变量进行验证。但我不知道如何获得对象值 这是我的php代码: $results = $mysqli->query("SELECT * FROM products ORDER BY id ASC"); if ($results) { while($obj = $results->fetch_object()) { $xy = $obj->available_qty; ech

我知道如何在javascript中使用简单的php变量进行验证。但我不知道如何获得对象值

这是我的php代码:

$results = $mysqli->query("SELECT * FROM products ORDER BY id ASC");
if ($results) {     
    while($obj = $results->fetch_object())
    {
        $xy = $obj->available_qty;
        echo '<div class="product">'; 
        echo '<form method="post" action="cart_update.php" name="single_block" onsubmit="validateForm();">';
        echo '<div class="product-thumb"><img src="images/'.$obj->product_img_name.'"></div>';
        echo '<div class="product-content"><h3 style="display:inline;">'.$obj->product_name.'</h3><h3 style="float:right;color:green;">Price '.$currency.$obj->price.'</h3>';
        echo '<div class="product-desc">'.$obj->product_desc.'</div>';
        echo '<div class="product-info">';
        echo '<select name="cutting">
                            <option value="Normal cut">Cutting type</option>
                          <option value="Star cut">Star cut</option>
                          <option value="Rips">Rips</option>
                          <option value="Lolly-pop">Lolly-pop</option>
                          <option value="Rolling cut">Rolling cut</option>
                        </select>';
        echo 'Qty 
        <select name="product_qty">

                          <option value="1">1</option>
                          <option value="2">2</option>
                          <option value="3">3</option>
                          <option value="4">4</option>
                          <option value="5">5</option>
                          <option value="6">6</option>
                          <option value="7">7</option>
                          <option value="8">8</option>
                          <option value="9">9</option>
                          <option value="10">10</option>
                        </select>Kg';
                        echo ' 
        <select name="product_qty_g">
                          <option value="0">  0</option>
                          <option value="050"> 50</option>
                          <option value="100">100</option>
                          <option value="150">150</option>
                          <option value="200">200</option>
                          <option value="250">250</option>
                          <option value="300">300</option>
                          <option value="350">350</option>
                          <option value="400">400</option>
                          <option value="450">450</option>
                          <option value="500">500</option>
                        </select>g';
        echo ' <select name="marination">
                          <option value="0">Marination type</option>
                          <option value="20">Pepper 20/kg</option>
                          <option value="25">Chilly 25/kg</option>
                          <option value="30">Ginger 30/kg</option>
                          <option value="40">Garlic 40/kg</option>
                          <option value="50">Rambo 50/kg</option>
                        </select>';
        echo '<button class="add_to_cart">Add To Cart</button>';
        echo '</div></div>';
        echo '<input type="hidden" name="product_code" value="'.$obj->product_code.'" />';
        echo '<input type="hidden" name="type" value="add" />';
        echo '<input type="hidden" name="return_url" value="'.$current_url.'" />';
        echo '</form>';
        echo '</div>';
    }
$results=$mysqli->query(“按id ASC从产品订单中选择*);
如果($结果){
而($obj=$results->fetch_object())
{
$xy=$obj->可用数量;
回声';
回声';
回显“产品名称”。“>”;
回显'.$obj->product_name.'Price'.$CURRENCE.$obj->Price'.';
回显“.$obj->product_desc.”;
回声';
回声'
切割类型
星形切割
撕裂
棒棒糖汽水
滚切
';
回音数量
1.
2.
3.
4.
5.
6.
7.
8.
9
10
公斤';
回声'
0
50
100
150
200
250
300
350
400
450
500
g′;
回声'
腌制型
胡椒粉20/公斤
冷25/公斤
生姜30/公斤
大蒜40/公斤
兰博50/kg
';
echo“添加到购物车”;
回声';
回声';
回声';
回声';
回声';
回声';
}
这是我的JavaScript代码:

<script>
    function validateForm() {
        var x = document.forms["single_block"]["product_qty"].value;
        var MyJSStringVar = "<?php Print $xy; ?>";
        if (x > MyJSStringVar) {        
            alert(MyJSStringVar);        
        }
    }   
</script>

函数validateForm(){
var x=单据.表单[“单块”][“产品数量”]值;
var MyJSStringVar=“”;
如果(x>MyJSStringVar){
警报(MyJSStringVar);
}
}   

对于第一个产品,它显示数据库中的正确数量,但是如果我单击“下一个产品”,它不会显示任何内容。

$xy
在循环中每次都会更改,但是
validateForm()
不在循环中,因此它不会获取值。您应该将其作为参数传递。此外,由于您有多个同名表单,因此也需要将当前表单作为参数传递。最后,如果验证失败,验证函数应该返回
false
,并且
onsubmit
需要返回该值,以便取消提交

echo '<form method="post" action="cart_update.php" name="single_block" onsubmit="return validateForm(this, \'$xy\');">';

首先要感谢巴尔马快速而清晰的回答,他的纠正效果很好。但我们必须做这个简单的改变,以得到实际的验证

这是最终工作代码:

echo '<form method="post" action="cart_update.php" name="single_block" onsubmit="return validateForm(this, '.$xy.');">';
echo';

现在感谢所有的产品提醒。但它只显示$xy。我认为它不会进行验证。请告诉我如何从对象值中获取每个产品的数量值。嘿,伙计,我得到了答案。我只是忘记删除单个报价。你的解释很简单,也很令人惊讶。非常感谢
echo '<form method="post" action="cart_update.php" name="single_block" onsubmit="return validateForm(this, '.$xy.');">';