我正在尝试将表单中的值发送到打开的新窗口。
在我的程序中,窗口打开,但是未发送值 private async Task TestSendEmail(DateTime SendAt)
{
string APIKey = ConfigurationManager.AppSettings["SendgridAPIKey"].ToString();
var datetimeOffset = new DateTimeOffset(SendAt, TimeSpan.Zero);
var apiKey = Environment.GetEnvironmentVariable(APIKey);
var client = new SendGridClient(apiKey);
//var from = new EmailAddress(QueueEmailAdmin, "Example User");
var from = new EmailAddress("FromEmail@gmail.com");
var subject = "Test Email";
var to = new EmailAddress("myemail@gmail.com", "Example User");
var plainTextContent = "This is a test";
var htmlContent = "<strong>This is a test</strong>";
var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent);
msg.SendAt = datetimeOffset.ToUnixTimeSeconds();
var response = await client.SendEmailAsync(msg).ConfigureAwait(false);
Console.WriteLine(msg.Serialize());
Console.WriteLine(response.StatusCode);
Console.WriteLine(response.Body.ReadAsStringAsync().Result);
}
,而是存在null。
我的代码:
val2
function eq(value) {
ViewImg = window.open('http://localhost/coord.php?' + value, 'ViewImg', 'width=<?php print $realWidthNewWindow; ?>,height=<?php print $realHeightNewWindow; ?>', 'status=no', 'titlebar=0');
}
有人知道为什么会这样吗? 谢谢
答案 0 :(得分:1)
if (manager.logContains('.myTestString1.') ||
manager.logContains('.myTestString2.')) {
error("Build failed because of this and that..")
}
function eq() {
const value = document.getElementById('val2').value;
ViewImg = window.open('http://localhost/coord.php?' + value, 'ViewImg', 'width=<?php print $realWidthNewWindow; ?>,height=<?php print $realHeightNewWindow; ?>', 'status=no', 'titlebar=0');
}
您无需将任何内容传递给click函数。 由于您已经拥有输入元素的id属性,因此单击时可以获得输入的值。 可能您想在其他地方使用该函数,这意味着您每次都要传递该元素。
如果您真的想传递某些内容,则可以传递id本身。
<form id='testform_eq' name='testform_new'>
<input type='text' id='val2' name='val2'>
<input type='button' value="Submit" onclick='eq()'>
</form>
eq函数看起来比:
eq('val2')
比起您可以在其他输入的其他位置使用该功能。
答案 1 :(得分:0)
因为您应该这样做:document.getElementById("val2").value
document.getElementById(val2)
不正确,如果您想获取id=val2
值。
要解决此问题,您可以将eq(document.getElementById(val2)
替换为eq(document.getElementById("val2").value)
function eq(value) {
ViewImg = window.open('http://localhost/coord.php?' + value, 'ViewImg', 'width=<?php print $realWidthNewWindow; ?>,height=<?php print $realHeightNewWindow; ?>', 'status=no', 'titlebar=0');
console.log(value);
}
<form id='testform_eq' name='testform_new'>
<input type='text' id='val2' name='val2'>
<input type='button' value='Submit' onclick='eq(document.getElementById("val2").value)'>
</form>
或仅将id放入函数调用中:eq(val2)
function eq(id) {
ViewImg = window.open('http://localhost/coord.php?' + id.value, 'ViewImg', 'width=<?php print $realWidthNewWindow; ?>,height=<?php print $realHeightNewWindow; ?>', 'status=no', 'titlebar=0');
console.log(id.value);
}
<form id='testform_eq' name='testform_new'>
<input type='text' id='val2' name='val2'>
<input type='button' value='Submit' onclick='eq(val2)'>
</form>
答案 2 :(得分:0)
如果要传递输入值,则应考虑两件事:
getElementById
接受字符串,但是您正在尝试传递不存在的变量.value
最后,您应该具有如下所示的input
元素:
<input type='button' value='Submit' onclick='eq(document.getElementById("val2").value)'>
这是一个实时示例:
<script>
function eq(value) {
console.log(value);
ViewImg = window.open('http://localhost/coord.php?' + value, 'ViewImg', 'width=<?php print $realWidthNewWindow; ?>,height=<?php print $realHeightNewWindow; ?>', 'status=no', 'titlebar=0');
}
</script>
<form id='testform_eq' name='testform_new'>
<input type='text' id='val2' name='val2'>
<input type='button' value='Submit' onclick='eq(document.getElementById("val2").value)'>
</form>
另一种选择是获取函数内部的值,如here所述。如果您不打算重复使用不同值的eq
,则这种方法很好。您必须根据实际情况选择其中之一。
答案 3 :(得分:-1)
您需要使用输入的value属性。
更新代码
<input type='button' value='Submit'
onclick='eq(document.getElementById(val2).value)'>