0

PHP ページの下部にいくつかのカスケード ドロップダウンがあります。ユーザーがドロップダウンからオプションを選択するたびに、次の関数が呼び出されて、そのオプションの値が私の url 変数に追加されます。現在、ページは毎回トップに更新されますが、これは大きな問題です。通常は、onCLick="window.location='page.htm#bottom';" のようなものを使用します。ページの下部に更新しますが、#bottom を追加すると以下の機能が動作しなくなります。誰かがこの機能を調整するのを手伝ったり、機能が完了したときにページの下部に更新される他のアイデアを教えてくれませんか.

function reload5(form){
if(document.getElementById('fda1').checked) {
 var fda = '1';
}else if(document.getElementById('fda0').checked) {
  var fda = '0';
}

var val=form.category.options[form.category.options.selectedIndex].value; 
var val2=form.subcat.options[form.subcat.options.selectedIndex].value;
var val3=form.subcat1.options[form.subcat1.options.selectedIndex].value;
var val4=form.subcat2.options[form.subcat2.options.selectedIndex].value;
var comp1=form.mname.options[form.mname.options.selectedIndex].text;
var itemnum=document.getElementById('item').value; 
var desc=document.getElementById('desc').value;
var quan=document.getElementById('quan').value;
var list=document.getElementById('list').value;
var uom=form.uom.options[form.uom.options.selectedIndex].text;
self.location='add_products.php#bottom?fda=' + fda + '&desc=' + desc + '&quan=' + quan + '&list=' + list + '&uom=' + uom + '&item=' + itemnum + '&cat=' + val + '&cat2=' + val2 + '&cat3=' + val3 + '&cat4=' + val4 + '&comp=' + comp1 ;
}

したがって、これは機能しません:self.location='add_products.php#bottom?fda=' + fda

しかし、これは:self.location='add_products.php?fda=' + fda

#bottom をどこに置くか考えていますか?

4

1 に答える 1

1

問題は、ハッシュが最後のクエリ文字列の後に来る必要があることです。この記事を参照してください。これを試してください...(コードもクリーンアップしました)

function reload5(form){
    var val=form.category.options[form.category.options.selectedIndex].value,
        val2=form.subcat.options[form.subcat.options.selectedIndex].value,
        val3=form.subcat1.options[form.subcat1.options.selectedIndex].value,
        val4=form.subcat2.options[form.subcat2.options.selectedIndex].value,
        comp1=form.mname.options[form.mname.options.selectedIndex].text,
        itemnum=document.getElementById('item').value,
        desc=document.getElementById('desc').value,
        quan=document.getElementById('quan').value,
        list=document.getElementById('list').value,
        uom=form.uom.options[form.uom.options.selectedIndex].text,
        fda;

    if(document.getElementById('fda1').checked) {
         fda = 1;
    } else if(document.getElementById('fda0').checked) {
         fda = 0;
    } else {
         fda = -1;
    }

    window.self.location.href = 'add_products.php?fda=' + fda + '&desc=' + desc + '&quan=' + quan + '&list=' + list + '&uom=' + uom + '&item=' + itemnum + '&cat=' + val + '&cat2=' + val2 + '&cat3=' + val3 + '&cat4=' + val4 + '&comp=' + comp1 + "#bottom";
}

私が理解できないのは、ページがまったく更新されないAjaxで何かをしていない理由です。

于 2012-04-08T15:52:48.417 に答える