这是我尝试过的,但是没有工作,我没有收到任何错误。
<iframe id="paymentFrame" width="600px" height="670px" scrolling="auto" frameborder="0" src='@Url.Action("ISWForm")'></iframe>
<script type="text/javascript">
function sendISWPostData() {
$("#paymentFrame").load(function () {
var doc = this.contentDocument;
var form = doc.getElementById('form1');
var actionUrl = '@ViewBag.WebPayUrl';
form.action = actionUrl;
$(':input[name=product_id]').val('@ViewBag.ProductID');
$(':input[name=amount]').val('@ViewBag.TransAmount');
$(':input[name=currency]').val('@ViewBag.TransCurrency');
$(':input[name=site_redirect_url]').val('@ViewBag.RedirectUrl');
$(':input[name=txn_ref]').val('@ViewBag.TransRef');
$(':input[name=pay_item_id]').val('@ViewBag.PayItemID');
$(':input[name=hash]').val('@ViewBag.Hash');
form.submit();
//return true;
}); //end load
} // end send
$(document).ready(function () {
sendISWPostData();
//return true;
});
</script>
我现在一直在寻找2天,感觉有时间寻求帮助......谢谢
编辑:我改变了代码以使用正确的jquery语法。我仍然没有得到表格的输入。该表单位于由iframe引用的页面中。
答案 0 :(得分:2)
您需要将val()
与jQuery对象一起使用,而不是value
属性。
更改
$(':input[name=product_id]').value = '@ViewBag.ProductID';
到的
$(':input[name=product_id]').val('@ViewBag.ProductID');
或将jQuery对象更改为DOM对象
$(':input[name=product_id]')[0].value = '@ViewBag.ProductID';
修改根据评论和更新的OP
如果您尝试访问iframe的内容,则可能需要使用contents()并且您的代码将是
$(this).contents().find(':input[name=product_id]').val('@ViewBag.ProductID');