2017-09-04 84 views
1

我有一个提交表单,供我的客户使用跟踪代码跟踪他们的订单。我想显示从船公司网站查询的订单状态结果。如何在新div中显示提交表单的HTML页面

input[type=text], 
 
select, 
 
textarea { 
 
    width: 100%; 
 
    padding: 12px; 
 
    border: 1px solid #ccc; 
 
    border-radius: 4px; 
 
    margin-top: 0px; 
 
    margin-bottom: 5px; 
 
    resize: vertical; 
 
    font-family: "Comic Sans MS", cursive, sans-serif; 
 
    font-size: 14px; 
 
    font-weight: bold; 
 
} 
 

 
input[type=submit] { 
 
    background-color: #000; 
 
    color: white; 
 
    padding: 10px 20px; 
 
    border: none; 
 
    border-radius: 20px; 
 
    font-weight: bold; 
 
    cursor: pointer; 
 
} 
 

 
input[type=submit]:hover { 
 
    color: #FFF; 
 
    background-color: #dd0017; 
 
} 
 

 
input[type=submit]:active { 
 
    box-shadow: inset 0px 0px 10px #000; 
 
    color: #FFF; 
 
    background-color: #dd0017; 
 
} 
 

 
.container { 
 
    border-radius: 5px; 
 
    background-color: rgba(241, 98, 114, 0.25); 
 
    padding: 0px; 
 
    margin-bottom: 20px; 
 
}
<div class="container"> 
 
    <div align="left" style="background-color:rgba(241, 98, 114, 0.25);padding:15px 0px 15px 5px;border-radius: 5px; border:1px solid #ff60cd;"><img align="left" alt="Sürat Kargo Takip" src="image\PNGLER\surat-kargo-takip-icon-200x40.png" style="float:none;" /></div> 
 

 
    <form action="http://www.suratkargo.com.tr/kargoweb/bireysel.aspx" align="left" onsubmit="window.open('','top','resizable=1, scrollbars=1,width=790,left=25,top=25')" target="top">&nbsp; 
 
    <h2><label for="takipnoalani">Takip NO :</label></h2> 
 
    <input id="takipnoalani" name="no" placeholder="Kargo Takip Numaranızı Yazınız..." type="text" /> 
 
    <input name="action" style="font-size:16px;float:right;" type="submit" value="Getir" />&nbsp;</form> 
 
</div> 
 

 
<div id="show_result" style="border:2px solid red;"> 
 
    I want to show the result of query here<br/>But I couldn't :(<br/> And it would be better if this red bordered div is not shown until the customer click the "Getir" button. 
 
</div>

我的代码是在新页面中打开它。但是,我想在同一个页面上显示它,并使用新的(或现有的但隐藏的)div。我不知道这是否可能。我查看了与此类似的所有问题,但无法找到解决方案。

如果有人能帮助我,我将不胜感激。

+0

你总是可以张贴到同一页的形式,并根据条件的ASPX里面然后输出数据。 –

+0

感谢您的快速回答,@Obsidian Age。对不起,我无法理解......“基于ASPX内的条件”。我的网站基于opencart。我对编程非常陌生。 – ironicskymoon

+0

不幸的是我对ASPX本人不太熟悉 - 我刚刚注意到'

'中的'.aspx'。在PHP中,它会像'if(!empty($ _ POST)){// show form}'。为获得进一步的帮助,您可能需要提供更多关于代码结构以及具体修改能力的信息。 –

回答

0

我建议您使用Ajax加载内容并在窗体中显示它。注意我注释了我使用Ajax加载动作内容的部分,因为这里没有可用的动作,但它应该非常简单。

$(document).ready(function() { 
 
    var result = "Result from your action."; 
 
    
 
    $('#form1').on('submit', function(e){ 
 
    e.preventDefault(); 
 
     
 
    $('#show_result').html("Result will show up here").slideDown('slow'); 
 
     
 
    /* 
 
    var $form = $(this); 
 
    $.post($form.attr('action'), $form.serialize(), function(data){ 
 
     $('#show_result').html("Result will show up here").slideDown('slow'); 
 
    });*/ 
 
     
 
    return false; 
 
    }); 
 
});
input[type=text], 
 
select, 
 
textarea { 
 
    width: 100%; 
 
    padding: 12px; 
 
    border: 1px solid #ccc; 
 
    border-radius: 4px; 
 
    margin-top: 0px; 
 
    margin-bottom: 5px; 
 
    resize: vertical; 
 
    font-family: "Comic Sans MS", cursive, sans-serif; 
 
    font-size: 14px; 
 
    font-weight: bold; 
 
} 
 

 
input[type=submit] { 
 
    background-color: #000; 
 
    color: white; 
 
    padding: 10px 20px; 
 
    border: none; 
 
    border-radius: 20px; 
 
    font-weight: bold; 
 
    cursor: pointer; 
 
} 
 

 
input[type=submit]:hover { 
 
    color: #FFF; 
 
    background-color: #dd0017; 
 
} 
 

 
input[type=submit]:active { 
 
    box-shadow: inset 0px 0px 10px #000; 
 
    color: #FFF; 
 
    background-color: #dd0017; 
 
} 
 

 
.container { 
 
    border-radius: 5px; 
 
    background-color: rgba(241, 98, 114, 0.25); 
 
    padding: 0px; 
 
    margin-bottom: 20px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="container"> 
 
    <div align="left" style="background-color:rgba(241, 98, 114, 0.25);padding:15px 0px 15px 5px;border-radius: 5px; border:1px solid #ff60cd;"><img align="left" alt="Sürat Kargo Takip" src="image\PNGLER\surat-kargo-takip-icon-200x40.png" style="float:none;" /></div> 
 

 
    <form action="http://www.suratkargo.com.tr/kargoweb/bireysel.aspx" align="left" onsubmit="window.open('','top','resizable=1, scrollbars=1,width=790,left=25,top=25')" target="top" id="form1">&nbsp; 
 
    <h2><label for="takipnoalani">Takip NO :</label></h2> 
 
    <input id="takipnoalani" name="no" placeholder="Kargo Takip Numaranızı Yazınız..." type="text" /> 
 
    <input name="action" style="font-size:16px;float:right;" type="submit" value="Getir" />&nbsp;</form> 
 
</div> 
 

 
<div id="show_result" style="display:none;border:2px solid red;"> 
 
    
 
</div>

+0

谢谢你的详细的答案。但是,它会打开一个新的空白页面,并且只会写入“来自您的操作的结果”。在红色的边界div。没有航运公司的结果。有什么建议么? – ironicskymoon

+0

如果它打开一个空白页面,你可能会漏掉代码中的东西。要么你忘记为表单添加'id'(我自己添加了,你的表单没有id),或者你的javascript中有东西。在上面的代码中,我处理表单的'submit'并告诉它不要提交,我通过Ajax从表单中获取内容并将其显示在框中。 –

+0

再次感谢您的帮助@Alireza Noori – ironicskymoon

0

我搜索小时后,我发现了一个类似的问题在这里:

Similar Question but opening a PHP file

和设计,是为我的解决方案。 感谢大家。这里是我的解决方案:

$('#kargotakip').submit(function() { // catch the form's submit event 
 
    $.ajax({ // create an AJAX call... 
 
     data: $(this).serialize(), // get the form data 
 
     type: $(this).attr('method'), // GET or POST 
 
     url: $(this).attr('action'), // the file to call 
 
     success: function(response) { // on success.. 
 
      $('#sonucgoster').html(response); // update the DIV 
 
     } 
 
    }); 
 
    return false; // cancel original event to prevent form submitting 
 
});
input[type=text], select, textarea { 
 
    width: 100%; 
 
    padding: 12px; 
 
    border: 1px solid #ccc; 
 
    border-radius: 4px; 
 
    margin-top: 0px; 
 
    margin-bottom: 5px; 
 
    resize: vertical; 
 
    font-family:"Comic Sans MS", cursive,sans-serif; 
 
    font-size: 14px; 
 
    font-weight: bold; 
 
} 
 

 
input[type=submit] { 
 
    background-color: #000; 
 
    color: white; 
 
    padding: 10px 20px; 
 
    border: none; 
 
    border-radius: 20px; 
 
    font-weight: bold; 
 
    cursor: pointer; 
 
} 
 

 
input[type=submit]:hover { 
 
    color: #FFF; 
 
\t background-color: #dd0017; 
 
} 
 

 
input[type=submit]:active { 
 
    box-shadow: inset 0px 0px 10px #000; 
 
\t color: #FFF; 
 
\t background-color:#dd0017; 
 
} 
 

 
.container { 
 
    border-radius: 5px; 
 
    background-color: rgba(241, 98, 114, 0.25); 
 
    padding: 0px; 
 
    margin-bottom: 20px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="container"> 
 
<div align="left" style="background-color:rgba(241, 98, 114, 0.25);padding:15px 0px 15px 5px;border-radius: 5px; border:1px solid #ff60cd;"><img align="left" alt="Sürat Kargo Takip" src="image\PNGLER\surat-kargo-takip-icon-200x40.png" style="float:none;" /></div> 
 

 
<form id="kargotakip" method="GET" action="http://www.suratkargo.com.tr/kargoweb/bireysel.aspx" align="left" >&nbsp; 
 
\t <h2><label for="takipnoalani">Takip NO :</label></h2> 
 
\t <input type="text" id="takipnoalani" name="no" placeholder="Kargo Takip Numaranızı Yazınız..." /> 
 
\t <input type="submit" name="action" value="Getir" style="font-size:16px;float:right;" />&nbsp; 
 
</form> 
 

 
</div> 
 
<div id="sonucgoster" style="background-color:rgba(241, 98, 114, 0.25);border-radius: 5px; border:1px solid #ff60cd;"></div>

相关问题